:root{--color-text-primary:#000;--color-text-strong:#222;--color-text-body:#333;--color-text-secondary:#555;--color-text-muted:#666;--color-text-faint:#999;--color-text-disabled:#bbb;--color-text-inverse:#fff;--color-bg-primary:#fff;--color-bg-hover:#fafafa;--color-bg-panel:#f5f5f5;--color-bg-tag:#f0f0f0;--color-bg-page:#e8e8e8;--color-bg-inverse:#000;--color-border-strong:#000;--color-border-medium:#ccc;--color-border-light:#ddd;--color-border-subtle:#eee;--color-accent:#4a9eff;--color-accent-hover:#2979bd;--color-danger:#d32f2f;--color-danger-bg:#fff0f0;--color-danger-bg-hover:#fef0f0;--color-success:#43a047;--color-success-bg:#f0fff4;--color-warning:#f0ad4e;--color-warning-bg:#fffaf0;--color-info:#1976d2;--color-info-bg:#f0f4ff;--color-error-strong:#b00020;--color-success-strong:#1a7f37;--color-info-strong:#0550ae;--shadow-popup:0 4px 12px #0000002e;--shadow-sm:0 1px 4px #0000001f;--shadow-md:0 2px 8px #0000002e;--shadow-lg:0 4px 16px #00000038;--shadow-brutal-sm:-2px 2px 0 var(--color-border-strong);--shadow-brutal-md:-4px 4px 0 var(--color-border-strong);--color-overlay:#00000080;--color-swatch-border:#0003;--z-base:1;--z-dropdown:10;--z-sticky:50;--z-overlay:100;--z-modal:1000;--z-modal-content:1001;--z-tooltip:2000;--z-toast:9999}:root.dark-mode{--color-text-primary:#f0f0f0;--color-text-strong:#ddd;--color-text-body:#ccc;--color-text-secondary:#aaa;--color-text-muted:#999;--color-text-faint:#777;--color-text-disabled:#555;--color-text-inverse:#000;--color-bg-primary:#1a1a1a;--color-bg-hover:#242424;--color-bg-panel:#222;--color-bg-tag:#2a2a2a;--color-bg-page:#111;--color-bg-inverse:#f0f0f0;--color-border-strong:#888;--color-border-medium:#555;--color-border-light:#444;--color-border-subtle:#333;--color-accent:#5aadff;--color-accent-hover:#3d8edb;--color-danger:#ef5350;--color-danger-bg:#2a1515;--color-danger-bg-hover:#331a1a;--color-success:#66bb6a;--color-success-bg:#152a17;--color-warning:#ffb74d;--color-warning-bg:#2a2215;--color-info:#42a5f5;--color-info-bg:#15202a;--color-error-strong:#ef5350;--color-success-strong:#66bb6a;--color-info-strong:#42a5f5;--shadow-popup:0 4px 12px #0006;--shadow-sm:0 1px 4px #0003;--shadow-md:0 2px 8px #0000004d;--shadow-lg:0 4px 16px #00000059;--shadow-brutal-sm:-2px 2px 0 var(--color-border-strong);--shadow-brutal-md:-4px 4px 0 var(--color-border-strong);--color-overlay:#000000b3;--color-swatch-border:#fff3;--z-base:1;--z-dropdown:10;--z-sticky:50;--z-overlay:100;--z-modal:1000;--z-modal-content:1001;--z-tooltip:2000;--z-toast:9999}.btn{background:#fff;border:1px solid #000;color:#000}.btn:hover{background:#fafafa}.btn--filled{background:#000;color:#fff}.btn--filled:hover{background:#222}.btn--active{background:#000;color:#fff}.btn--warn{border-color:#f0ad4e;color:#f0ad4e}.btn--warn:hover{background:#fffaf0}.icon-btn{background:#fff}.icon-btn--danger{border:1px solid #d32f2f}.icon-btn--confirm{border:1px solid #43a047}.close-btn{border:1px solid #d32f2f;color:#d32f2f}.text-btn{background:#f5f5f5;border:1px solid #ccc;color:#333}.text-btn:hover{background:#eee}.text-btn--danger{background:#fff;color:#d32f2f}.text-btn--danger:hover{background:#fef0f0}.modal-shell{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-shell__backdrop{background-color:#00000080;background-color:var(--color-overlay);cursor:pointer;inset:0;position:absolute}.modal-shell__content{background:#fff;background:var(--color-bg-primary);border:1px solid #000;border:1px solid var(--color-border-strong);display:flex;flex-direction:column;max-height:95vh;max-width:95vw;position:relative;z-index:1001}.modal-shell__header{align-items:center;border-bottom:1px solid #ddd;border-bottom:1px solid var(--color-border-light);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.modal-shell__header h3{color:#000;color:var(--color-text-primary);font-size:14px;font-weight:600;letter-spacing:.6px;margin:0;text-transform:uppercase}.modal-shell__body{flex:1 1;min-height:0;overflow:auto}.modal-shell__footer{border-top:1px solid #ddd;border-top:1px solid var(--color-border-light);display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:16px 20px}.page-shell{background:#fff;background:var(--color-bg-primary);border:1px solid #000;border:1px solid var(--color-border-strong);margin-top:20px;max-width:1600px;padding:24px;width:95vw}.page-header{align-items:center;border-bottom:1px solid #000;border-bottom:1px solid var(--color-border-strong);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.page-header h2{font-size:18px;font-weight:600;letter-spacing:1px;margin:0;text-transform:uppercase}.page-empty{color:#999;color:var(--color-text-faint);font-size:12px;letter-spacing:.5px;padding:60px 20px;text-align:center;text-transform:uppercase}.filter-row{display:flex;gap:0;margin-bottom:16px}.filter-btn{background:#0000;border:1px solid #ddd;border:1px solid var(--color-border-light);color:#555;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;font-size:11px;letter-spacing:.4px;margin-right:-1px;padding:6px 14px;text-transform:uppercase;transition:.12s ease}.filter-btn:hover{background:#fafafa;background:var(--color-bg-hover)}.filter-btn.active{background:#000;background:var(--color-bg-inverse);border-color:#000;border-color:var(--color-bg-inverse);color:#fff;color:var(--color-text-inverse);z-index:1}.confirm-inline{align-items:center;color:#555;color:var(--color-text-secondary);display:inline-flex;flex-shrink:0;font-size:11px;gap:6px}.confirm-inline button{background:none;border:1px solid #ddd;border:1px solid var(--color-border-light);cursor:pointer;font-family:inherit;font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.confirm-inline button.danger{border-color:#d32f2f4d;color:#d32f2f;color:var(--color-danger)}.confirm-inline button:hover{border-color:#000;border-color:var(--color-border-strong)}.thread-mini-table{border-collapse:collapse;font-size:11px;width:100%}.thread-mini-table th{border-bottom:1px solid #ddd;border-bottom:1px solid var(--color-border-light);color:#999;color:var(--color-text-faint);font-size:10px;font-weight:600;letter-spacing:.3px;padding:4px 6px;text-align:left;text-transform:uppercase}.thread-mini-table td{padding:4px 6px;vertical-align:middle}.thread-mini-table .mini-swatch{border:1px solid #00000026;display:inline-block;height:18px;width:18px}.thread-mini-table .code{font-family:monospace;font-weight:500}.thread-mini-table .length{color:#555;color:var(--color-text-secondary);font-family:monospace}.color-sequence{display:flex;flex-wrap:wrap;gap:3px}.color-sequence .seq-stop{border:1px solid #00000026;cursor:default;height:20px;position:relative;width:20px}.color-sequence .seq-stop .seq-num{bottom:-1px;color:#00000080;font-size:7px;font-weight:600;position:absolute;right:1px;text-shadow:0 0 2px #ffffffe6}.param-field{display:flex;flex-direction:column;gap:4px}.param-field label{color:#999;color:var(--color-text-faint);font-size:10px;font-weight:500;letter-spacing:.4px;text-transform:uppercase}.param-field input{appearance:textfield;-moz-appearance:textfield;background:#fafafa;background:var(--color-bg-hover);border:1px solid #ddd;border:1px solid var(--color-border-light);color:#222;color:var(--color-text-strong);font-family:monospace;font-size:13px;padding:8px 10px;transition:.12s ease}.param-field input::-webkit-inner-spin-button,.param-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.param-field input:focus{background:#fff;background:var(--color-bg-primary);border-color:#222;border-color:var(--color-text-strong);outline:none}.item-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.item-card{align-items:center;border:1px solid #ddd;border:1px solid var(--color-border-light);cursor:pointer;display:flex;gap:12px;padding:10px 12px;position:relative;transition:background .1s,border-color .1s}.item-card:hover{background:#fafafa;background:var(--color-bg-hover);border-color:#000;border-color:var(--color-border-strong)}.item-card:hover .item-card__actions{opacity:1}.item-card__thumb{align-items:center;background:#f5f5f5;background:var(--color-bg-panel);border:1px solid #ddd;border:1px solid var(--color-border-light);display:flex;flex-shrink:0;height:48px;justify-content:center;overflow:hidden;width:48px}.item-card__thumb img{height:100%;object-fit:cover;width:100%}.item-card__icon{align-items:center;display:flex;font-size:10px;height:100%;justify-content:center;letter-spacing:1px;text-transform:uppercase;width:100%}.item-card__icon,.item-card__icon svg{color:#999;color:var(--color-text-faint)}.item-card__body{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.item-card__name-row{align-items:center;display:flex;gap:8px}.item-card__name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-card__rename-input{background:#fff;background:var(--color-bg-primary);border:1px solid #000;border:1px solid var(--color-border-strong);color:#000;color:var(--color-text-primary);font-family:inherit;font-size:13px;outline:none;padding:2px 6px;width:100%}.type-badge{border:1px solid #ddd;border:1px solid var(--color-border-light);flex-shrink:0;letter-spacing:.3px;padding:1px 5px;text-transform:uppercase}.item-card__date,.type-badge{color:#999;color:var(--color-text-faint);font-size:11px}.item-card__actions{display:flex;flex-shrink:0;gap:4px;opacity:0;transition:opacity .1s}.item-card__actions .edit-btn{border-color:#ddd;border-color:var(--color-border-light);color:#999;color:var(--color-text-faint);position:static}.item-card__actions .edit-btn:hover{border-color:#000;border-color:var(--color-border-strong);color:#555;color:var(--color-text-secondary)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#e8e8e8;background:var(--color-bg-page);color:#000;color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;text-transform:uppercase}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.image-uploader .file-input{display:none}.grid-picker-modal{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.grid-picker-backdrop{background-color:var(--color-overlay);cursor:pointer;inset:0;position:absolute}.grid-picker-content{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);display:flex;flex-direction:column;height:auto;max-height:95vh;max-width:95vw;max-width:850px;position:relative;width:95vw;z-index:1001}.grid-picker-header{align-items:center;border-bottom:1px solid var(--color-border-strong);display:flex;justify-content:space-between;padding:12px 16px}.grid-picker-header h3{font-size:14px;font-weight:600;letter-spacing:.6px;margin:0;text-transform:uppercase}.change-preview{align-items:center;background:var(--color-bg-hover);border-bottom:1px solid var(--color-border-subtle);display:flex;gap:16px;padding:12px 16px}.change-preview .change-from,.change-preview .change-to{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.change-preview .preview-swatch{border:1px solid var(--color-swatch-border);flex-shrink:0;height:36px;width:36px}.change-preview .preview-swatch.empty{background:repeating-conic-gradient(#ddd 0 25%,#fff 0 50%) 50%/12px 12px}.change-preview .preview-info{display:flex;flex-direction:column;min-width:0}.change-preview .preview-info .preview-label{color:var(--color-text-faint);font-size:9px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.change-preview .preview-info .preview-code{color:var(--color-text-strong);font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.change-preview .preview-info .preview-code.placeholder{color:var(--color-text-secondary);font-style:italic;font-weight:400}.change-preview .change-arrow{color:var(--color-text-faint);flex-shrink:0;font-size:20px}.change-preview .hex-paste{display:flex;flex-direction:column;flex-shrink:0;gap:2px;margin-left:auto}.change-preview .hex-paste .hex-paste-input{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);color:var(--color-text-primary);font-size:13px;padding:7px 12px}.change-preview .hex-paste .hex-paste-input:focus{box-shadow:-3px 3px 0 var(--color-border-strong);outline:none}.change-preview .hex-paste .hex-paste-input{font-family:monospace;font-size:12px;padding:4px 8px;width:90px}.change-preview .hex-paste .hex-hint{color:var(--color-text-faint);font-size:9px}.grid-picker-search{align-items:center;border-bottom:1px solid var(--color-border-subtle);display:flex;gap:8px;padding:10px 16px}.grid-picker-search .search-input{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);color:var(--color-text-primary);font-size:13px;padding:7px 12px}.grid-picker-search .search-input:focus{box-shadow:-3px 3px 0 var(--color-border-strong);outline:none}.grid-picker-search .search-input{flex:1 1;font-family:inherit;font-size:12px}.grid-picker-search .search-input::placeholder{color:var(--color-text-secondary)}.grid-picker-search .result-count{color:var(--color-text-faint);font-size:11px;white-space:nowrap}.grid-picker-grid{align-items:center;display:flex;justify-content:center;max-height:50vh;overflow-y:auto;padding:8px}.grid-table{flex-direction:column}.grid-table,.grid-table-row{display:flex;gap:1px}.grid-flat{align-content:flex-start;display:flex;flex-wrap:wrap;gap:4px;width:100%}.grid-col{display:flex;flex-direction:column;gap:1px}.grid-color-cell{appearance:none;border:1px solid #0000;cursor:pointer;flex-shrink:0;height:24px;padding:0;transition:transform .12s,border-color .12s,box-shadow .12s;width:24px}.grid-color-cell.empty-cell{background:#0000;border:none;cursor:default}.grid-color-cell:hover{border-color:var(--color-border-strong);box-shadow:0 2px 8px #00000040;transform:scale(1.2);z-index:1}.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 .current-check{height:12px;pointer-events:none;width:12px}.grid-empty,.grid-loading{align-items:center;color:var(--color-text-faint);display:flex;font-size:12px;height:100%;justify-content:center;width:100%}.grid-picker-footer{border-top:1px solid var(--color-border-strong);display:flex;gap:8px;justify-content:flex-end;padding:12px 16px}.react-colorful,.react-colorful__alpha,.react-colorful__hue,.react-colorful__saturation{border-radius:0!important}.hex-picker-popup{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);box-shadow:0 8px 24px #0003;display:flex;flex-direction:column;gap:10px;left:0;padding:12px;position:absolute;top:100%;width:220px;z-index:200}.hex-picker-popup .hex-picker-header .hex-picker-title{color:var(--color-text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.hex-picker-popup .hex-picker-swatches{align-items:center;display:flex;gap:10px}.hex-picker-popup .hex-picker-swatches .swatch-group{align-items:center;display:flex;gap:6px}.hex-picker-popup .hex-picker-swatches .swatch-group .swatch-color{border:1px solid var(--color-border-medium);flex-shrink:0;height:24px;width:24px}.hex-picker-popup .hex-picker-swatches .swatch-group .swatch-hex{color:var(--color-text-body);font-family:monospace;font-size:11px}.hex-picker-popup .hex-picker-swatches .swatch-arrow{color:var(--color-text-faint);font-size:14px}.hex-picker-popup .react-colorful{height:150px!important;width:100%!important}.hex-picker-popup .hex-picker-text{background:var(--color-bg-primary);border:1px solid var(--color-border-medium);box-sizing:border-box;color:var(--color-text-primary);font-family:monospace;font-size:12px;padding:5px 8px;text-align:center;width:100%}.hex-picker-popup .hex-picker-actions{display:flex;gap:6px;justify-content:flex-end}.hex-picker-popup .hex-picker-actions .btn{font-size:11px;padding:5px 14px}.color-palette.picker-open{overflow:visible}.color-palette{margin-top:12px;max-height:600px;max-width:900px;overflow-y:auto}.color-palette.is-loading{opacity:.6;pointer-events:none}.sort-toolbar{align-items:center;background:var(--color-bg-primary);display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px;padding:4px 0;position:sticky;top:0;z-index:1}.sort-toolbar .sort-label{color:var(--color-text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;margin-right:2px;text-transform:uppercase}.sort-toolbar .sort-btn{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);color:var(--color-text-primary);cursor:pointer;font-size:11px;font-weight:500;opacity:.35;padding:4px 10px;text-transform:uppercase;transition:.15s ease;white-space:nowrap}.sort-toolbar .sort-btn:hover{opacity:1}.sort-toolbar .sort-btn:active{opacity:.8}.sort-toolbar .sort-btn.active{background:var(--color-bg-inverse);color:var(--color-text-inverse);opacity:1}.sort-toolbar .sort-btn .sort-arrow{display:inline-block;height:10px;margin-left:4px;position:relative;top:-1px;vertical-align:middle;width:10px}.code-copy-btn{appearance:none;background:none;border:none;border-bottom:1px dashed #0000;color:inherit;cursor:pointer;font:inherit;font-size:11px;margin:0;padding:0;position:relative;text-align:left;transition:border-color .15s,color .15s}.code-copy-btn:hover{border-bottom-color:initial;color:var(--color-text-primary)}.code-copy-btn .copied-badge.inline{background:#fffffff2;border:1px solid #00000040;color:#111;font-size:9px;left:50%;padding:2px 5px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none;white-space:nowrap}.cell-stock{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;text-align:center}.cell-stock .in-stock{color:var(--color-success)}.cell-stock .out-of-stock{color:var(--color-text-faint)}.weight-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:7px;margin-left:4px;vertical-align:middle;width:7px}.weight-dot.w60{background:#312783}.weight-dot.w75{background:#f9b104}.match-bar{background:var(--color-border-subtle);border-radius:2px;display:inline-block;flex-shrink:0;height:4px;margin-left:auto;overflow:hidden;vertical-align:middle;width:28px}.match-bar .match-bar-fill{border-radius:2px;display:block;height:100%;transition:width .2s ease}.color-palette .disclaimer{background:var(--color-warning-bg);border:1px solid var(--color-warning);bottom:0;color:var(--color-text-secondary);font-size:10px;letter-spacing:.3px;line-height:1.5;margin:16px 0 0;padding:10px 12px;position:sticky;z-index:5}.eraser-modal{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.eraser-modal .eraser-backdrop{background-color:var(--color-overlay);cursor:pointer;inset:0;position:absolute}.eraser-modal .eraser-content{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);display:flex;flex-direction:column;height:90vh;max-height:95vh;max-height:900px;max-width:95vw;max-width:1000px;position:relative;width:90vw;z-index:1001}.eraser-modal .eraser-header{align-items:center;border-bottom:1px solid var(--color-border-strong);display:flex;justify-content:space-between;padding:12px 16px}.eraser-modal .eraser-header h3{font-size:14px;font-weight:600;margin:0}.eraser-modal .eraser-header .header-help{color:var(--color-text-muted);font-size:11px;left:50%;margin:0;position:absolute;transform:translateX(-50%)}.eraser-modal .eraser-toolbar{align-items:center;background:var(--color-bg-hover);border-bottom:1px solid var(--color-border-light);display:flex;gap:16px;justify-content:space-between;padding:10px 16px}.eraser-modal .eraser-toolbar .toolbar-left{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.eraser-modal .eraser-toolbar .toolbar-right{display:flex;gap:8px}.eraser-modal .eraser-toolbar .tool-buttons{border-right:1px solid var(--color-border-light);display:flex;gap:8px;padding-right:12px}.eraser-modal .eraser-toolbar .control-group{align-items:center;display:flex;gap:8px}.eraser-modal .eraser-toolbar .control-group label{font-size:12px;font-weight:500;min-width:80px}.eraser-modal .eraser-toolbar .control-group input[type=range]{width:100px}.eraser-modal .eraser-toolbar .control-group input[type=color]{border:1px solid var(--color-border-light);cursor:pointer;height:32px;padding:2px;width:32px}.eraser-modal .eraser-toolbar .control-group .color-display,.eraser-modal .eraser-toolbar .control-group .size-display,.eraser-modal .eraser-toolbar .control-group .zoom-display{font-size:12px;font-weight:600;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{align-items:center;display:flex;gap:4px}.eraser-modal .eraser-toolbar .control-group .brush-size-options .brush-size-btn{align-items:center;background:var(--color-bg-primary);border:1px solid var(--color-border-medium);cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:.15s ease;width:40px}.eraser-modal .eraser-toolbar .control-group .brush-size-options .brush-size-btn .brush-dot{background:var(--color-text-secondary);display:block;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{background:var(--color-bg-tag);border-color:var(--color-border-strong)}.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{align-items:center;display:flex;gap:4px}.eraser-modal .eraser-toolbar .control-group .tolerance-options .tool-btn{font-size:11px;letter-spacing:.4px;padding:5px 10px}.eraser-modal .eraser-toolbar .control-group .tolerance-options .tool-btn.active{background:var(--color-bg-inverse);border-color:var(--color-border-strong);color:var(--color-text-inverse)}.eraser-modal .eraser-toolbar .control-group.shape-toggle{gap:4px;margin-left:8px}.eraser-modal .eraser-toolbar .control-group.shape-toggle .shape-btn{align-items:center;background:var(--color-bg-primary);border:1px solid var(--color-border-medium);cursor:pointer;display:flex;height:32px;justify-content:center;padding:4px;transition:.15s ease;width:32px}.eraser-modal .eraser-toolbar .control-group.shape-toggle .shape-btn .icon{display:block;height:16px;width:16px}:root.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)}:root.dark-mode .eraser-modal .eraser-toolbar .control-group.shape-toggle .shape-btn.active .icon{filter:none}.eraser-modal .eraser-toolbar .bucket-hex-input{color:var(--color-text-primary);font-family:monospace;font-size:12px;padding:4px 6px;text-align:center;width:75px}.eraser-modal .eraser-toolbar .bucket-hex-input,.eraser-modal .tool-btn{background:var(--color-bg-primary);border:1px solid var(--color-border-medium)}.eraser-modal .tool-btn{border-radius:0;color:var(--color-text-body);cursor:pointer;font-size:11px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;transition:.15s ease}.eraser-modal .tool-btn:hover{box-shadow:-4px 4px 0 var(--color-border-strong);transform:translate(2px,-2px)}.eraser-modal .tool-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.35;transform: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{align-items:center;border-color:var(--color-border-strong);color:var(--color-text-primary);display:flex;font-size:12px;font-weight:500;gap:4px;justify-content:center;padding:8px 14px;position:relative}.eraser-modal .tool-btn .icon{display:inline-block;height:16px;transition:.1s ease;width:16px}:root.dark-mode .eraser-modal .tool-btn .icon{filter:invert(1)}.eraser-modal .tool-btn .tool-tooltip{background:var(--color-bg-inverse);border-radius:4px;bottom:auto;color:var(--color-text-inverse);font-size:12px;font-weight:500;left:auto;letter-spacing:0;opacity:0;padding:6px 12px;pointer-events:none;position:fixed;text-transform:none;top:-40px;transition:opacity .08s ease,visibility .08s ease;visibility:hidden;white-space:nowrap;z-index:var(--z-tooltip)}.eraser-modal .tool-btn:hover:not(:disabled) .tool-tooltip{opacity:1;visibility:visible}.eraser-modal .tool-btn:active:not(:disabled){box-shadow:var(--shadow-brutal-sm);transform:translate(1px,-1px)}.eraser-modal .tool-btn:disabled{opacity:.4}.eraser-modal .tool-btn.primary .icon{filter:brightness(0) invert(1)}:root.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)}:root.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{align-items:center;background:var(--color-bg-panel);cursor:auto;display:flex;flex:1 1;justify-content:center;overflow:hidden;position:relative;touch-action:none;-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{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="M261 437c-59 0-107-48-107-107 0-6-5-10-11-10s-10 4-10 10c0 71 57 128 128 128 6 0 11-4 11-10 0-6-5-11-11-11z"/><path d="M263 3c-4-4-11-4-15 0-7 7-169 167-169 330 0 99 79 180 176 180s176-81 176-180C431 170 270 10 263 3zM256 491c-85 0-155-71-155-159 0-134 123-272 155-306 32 33 155 171 155 306 0 88-70 159-155 159z"/></svg>') 6 2,auto}.eraser-modal .canvas-container.bucket-cursor{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 60 60" fill="%23000"><path d="M6 39c0 0-1 0-1 0l-3 3c-2 2-2 5 0 6 1 1 2 1 3 1s2 0 3-1c2-2 2-5 0-6L6 39zM7 47c-1 1-3 1-4 0-1-1-1-3 0-4l2-2 2 2c1 1 1 3 0 4z"/><path d="M58 31L34 6c-1-1-3-1-5 0-1-3-4-6-8-6-4 0-7 3-7 7v10c-7 7-12 15-9 17l7 8 13 13 5 5c0 0 1 1 2 1 1 0 3-1 6-2 3-2 7-5 11-9s7-7 9-11c2-4 2-6 0-8zM48 36L37 25c0 0 0-1 0-2 2-2 3-4 4-6l11 11c1 1 0 3-4 8zM31 7c0 0 1 0 1 0 1 1 0 4-3 8V8c1-1 2-1 2-1zM22 2c3 0 5 2 5 5-3 2-7 5-11 8V7c0-3 2-5 6-5zM17 18c4-4 8-7 10-8v9c-1 1-3 3-5 5-8 8-15 11-16 10 0-1 3-8 11-16zM27 53L16 42c1 0 2-1 3-1 0 0 1 0 1 0l11 10c-2 1-4 2-4 2zM47 48c-8 8-15 11-16 10l-3-3c1 0 2-1 3-1 1 0 1-1 1-2 0-1 0-1-1-2L21 40c-1-1-2-1-4-1-2 1-3 1-4 1l-5-5c1 0 3-1 4-2 2-1 5-3 7-5 0 0 0 0 0 0 0 0 1 0 1-1 0 0 0 0 1 0 0 0 0 0 1-1 0 0 0 0 0 0 1-1 2-2 3-3V30h2V18c1-2 2-3 3-5 1-2 2-3 2-4l5 5 0 0c0 0 0 3-3 7-1 1-1 3 0 5l11 10c0 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 1 0 2-2 4-5 5-7l3 3c-1 1 2 7-6 15z"/></svg>') 6 18,auto}.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{background-color:#fff;background-image:linear-gradient(45deg,#00000014 25%,#0000 0),linear-gradient(-45deg,#00000014 25%,#0000 0),linear-gradient(45deg,#0000 75%,#00000014 0),linear-gradient(-45deg,#0000 75%,#00000014 0);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;inset:0;pointer-events:none;position:absolute;z-index:0}.eraser-modal .canvas-container .eraser-canvas{background:#0000;display:block;position:relative;transform-origin:center center;transition:none;z-index:1}.eraser-modal .canvas-container .brush-preview{border:2px solid #ff3232cc;box-shadow:0 0 0 1px #0000001a,inset 0 0 8px #ff32324d;pointer-events:none;position:absolute;transform:translate(-50%,-50%);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 1;overflow:hidden}.eraser-modal .colors-panel{background:var(--color-bg-primary);border-left:1px solid var(--color-border-light);flex-shrink:0;overflow-y:auto;padding:12px;width:300px}.eraser-modal .colors-panel .color-list{display:flex;flex-direction:column;gap:10px}.eraser-modal .colors-panel .color-row{align-items:center;background:var(--color-bg-hover);border:1px solid var(--color-border-subtle);display:flex;flex-wrap:wrap;gap:6px;padding:6px}.eraser-modal .colors-panel .color-row .color-row-main{align-items:center;display:flex;flex:1 1;gap:5px;min-width:0}.eraser-modal .colors-panel .color-row .color-original,.eraser-modal .colors-panel .color-row .color-replacement{align-items:center;display:flex;gap:5px;min-width:0}.eraser-modal .colors-panel .color-row .color-original{flex:0 0 auto}.eraser-modal .colors-panel .color-row .color-replacement{flex:1 1 auto;min-width:50px}.eraser-modal .colors-panel .color-row .color-swatch{border:1px solid var(--color-swatch-border);flex-shrink:0;height:22px;width:22px}.eraser-modal .colors-panel .color-row .color-hex{color:var(--color-text-body);font-family:monospace;font-size:10px;font-weight:500;min-width:40px}.eraser-modal .colors-panel .color-row .arrow{color:var(--color-text-faint);flex-shrink:0;font-size:11px}.eraser-modal .colors-panel .color-row .color-swatch.clickable{cursor:pointer;transition:box-shadow .15s}.eraser-modal .colors-panel .color-row .color-swatch.clickable:hover{box-shadow:0 0 0 2px var(--color-text-muted)}.eraser-modal .colors-panel .color-row .color-picker-expand{padding:6px 0 0;width:100%}.eraser-modal .colors-panel .color-row .color-picker-expand .react-colorful{border-radius:0;height:140px;width:100%}.eraser-modal .colors-panel .color-row .color-picker-expand .react-colorful__hue,.eraser-modal .colors-panel .color-row .color-picker-expand .react-colorful__saturation{border-radius:0}.eraser-modal .colors-panel .color-row .color-picker-expand .color-picker-hex-input{background:var(--color-bg-primary);border:1px solid var(--color-border-medium);box-sizing:border-box;color:var(--color-text-primary);font-family:monospace;font-size:12px;margin-top:6px;padding:4px 8px;text-align:center;width:100%}.eraser-modal .colors-panel .color-row .transparent-swatch{border:1px solid var(--color-swatch-border);flex-shrink:0;height:22px;width:22px}.eraser-modal .colors-panel .color-row .transparent-swatch.checkerboard{background-color:#fff;background-image:linear-gradient(45deg,#00000026 25%,#0000 0),linear-gradient(-45deg,#00000026 25%,#0000 0),linear-gradient(45deg,#0000 75%,#00000026 0),linear-gradient(-45deg,#0000 75%,#00000026 0);background-position:0 0,0 3px,3px -3px,-3px 0;background-size:6px 6px}.eraser-modal .colors-panel .color-row .color-actions{display:flex;flex-shrink:0;gap:3px}.eraser-modal .colors-panel .color-row .color-actions button{align-items:center;background:var(--color-bg-primary);border:1px solid var(--color-text-faint);cursor:pointer;display:flex;height:22px;justify-content:center;padding:0;transition:.15s ease;width:22px}.eraser-modal .colors-panel .color-row .color-actions button:hover{background:var(--color-bg-tag);border-color:var(--color-text-muted)}.eraser-modal .colors-panel .color-row .color-actions button .tiny-checkerboard{background-color:#fff;background-image:linear-gradient(45deg,#00000026 25%,#0000 0),linear-gradient(-45deg,#00000026 25%,#0000 0),linear-gradient(45deg,#0000 75%,#00000026 0),linear-gradient(-45deg,#0000 75%,#00000026 0);background-position:0 0,0 2px,2px -2px,-2px 0;background-size:4px 4px;height:12px;width:12px}.eraser-modal .colors-panel .color-row .color-actions button .color-swatch-small{border:1px solid var(--color-swatch-border);height:12px;width:12px}.eraser-modal .colors-panel .color-row .color-actions button.btn-make-transparent{border-color:var(--color-danger)}.eraser-modal .colors-panel .color-row .color-actions button.btn-make-transparent:hover{background:var(--color-danger-bg)}.eraser-modal .colors-panel .color-row .color-actions button.btn-make-opaque{border-color:var(--color-success)}.eraser-modal .colors-panel .color-row .color-actions button.btn-make-opaque:hover{background:var(--color-success-bg)}.eraser-modal .colors-panel .color-row.transparent{background:var(--color-success-bg);border-color:var(--color-success)}.eraser-modal .eraser-footer{border-top:1px solid var(--color-border-light);display:flex;gap:10px;justify-content:flex-end;padding:12px 16px}.eraser-modal .eraser-footer .btn-save{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.eraser-modal .eraser-footer .btn-save:hover{background:var(--color-text-body)}.eraser-modal .crop-overlay{background:#ffffff1a;border:2px dashed #000;box-shadow:0 0 0 9999px #00000080;pointer-events:none;position:absolute;z-index:100}.eraser-modal .crop-overlay .crop-move-area{cursor:move;inset:0;pointer-events:auto;position:absolute}.eraser-modal .crop-overlay .crop-handle{background:#fff;border:2px solid #000;height:12px;pointer-events:auto;position:absolute;width:12px;z-index:101}.eraser-modal .crop-overlay .crop-handle.nw{cursor:nw-resize;left:-6px;top:-6px}.eraser-modal .crop-overlay .crop-handle.ne{cursor:ne-resize;right:-6px;top:-6px}.eraser-modal .crop-overlay .crop-handle.sw{bottom:-6px;cursor:sw-resize;left:-6px}.eraser-modal .crop-overlay .crop-handle.se{bottom:-6px;cursor:se-resize;right:-6px}.eraser-modal .crop-overlay .crop-handle.n{cursor:n-resize;left:50%;top:-6px;transform:translateX(-50%)}.eraser-modal .crop-overlay .crop-handle.s{bottom:-6px;cursor:s-resize;left:50%;transform:translateX(-50%)}.eraser-modal .crop-overlay .crop-handle.w{cursor:w-resize;left:-6px;top:50%;transform:translateY(-50%)}.eraser-modal .crop-overlay .crop-handle.e{cursor:e-resize;right:-6px;top:50%;transform:translateY(-50%)}.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{height:100%;max-height:none;max-width:none;width:100%}.eraser-modal .eraser-toolbar{flex-direction:column;gap:8px}.eraser-modal .eraser-toolbar .toolbar-left,.eraser-modal .eraser-toolbar .toolbar-right{justify-content:space-between;width:100%}}.inventory-page{font-family:Arial,sans-serif;margin:20px auto;max-width:900px;padding:20px;width:95vw}.inventory-page,.inventory-page .btn{background:var(--color-bg-primary);border:1px solid var(--color-border-strong)}.inventory-page .btn{color:var(--color-text-primary);cursor:pointer;font-size:13px;font-weight:500;letter-spacing:.6px;padding:9px 16px;text-transform:uppercase;transition:.18s ease}.inventory-page .btn:hover{background:var(--color-bg-hover)}.inventory-page .btn:disabled{cursor:not-allowed;opacity:.5}.inventory-page .btn--filled{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.inventory-page .btn--filled:hover{background:var(--color-text-strong)}.inventory-page .btn--active{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.inventory-page .btn--sm{font-size:11px;padding:6px 12px}.inventory-page .btn--warn{border-color:var(--color-warning);color:var(--color-warning)}.inventory-page .btn--warn:hover{background:var(--color-warning-bg)}.inventory-page .icon-btn{align-items:center;background:var(--color-bg-primary);border-radius:0;cursor:pointer;display:inline-flex;height:24px;justify-content:center;opacity:.3;padding:4px;transition:.15s ease;width:24px}.inventory-page .icon-btn .icon{height:14px;width:14px}.inventory-page .icon-btn:hover{opacity:1}.inventory-page .icon-btn--danger{border:1px solid var(--color-danger)}.inventory-page .icon-btn--confirm{border:1px solid var(--color-success)}.inventory-page .close-btn{align-items:center;appearance:none;background:none;border:1px solid var(--color-danger);color:var(--color-danger);cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;opacity:.4;padding:4px;transition:.15s ease;width:28px}.inventory-page .close-btn .icon{height:14px;width:14px}.inventory-page .close-btn:hover{opacity:1}.inventory-page .text-btn{background:var(--color-bg-panel);border:1px solid var(--color-border-medium);color:var(--color-text-body);cursor:pointer;font-size:10px;padding:2px 8px;transition:.15s ease}.inventory-page .text-btn:hover{background:var(--color-border-subtle)}.inventory-page .text-btn--danger{background:var(--color-bg-primary);border-color:#d32f2f40;color:var(--color-danger)}.inventory-page .text-btn--danger:hover{background:var(--color-danger-bg-hover)}.inventory-page .data-table{border-collapse:collapse;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;width:100%}.inventory-page .data-table thead{background:var(--color-bg-panel);border-bottom:1px solid var(--color-border-light);position:sticky;top:0}.inventory-page .data-table thead th{border-bottom:1px solid var(--color-border-medium);color:var(--color-text-strong);font-size:11px;font-weight:600;padding:6px 8px;text-align:left;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{position:relative;width:48px}.inventory-page .data-table .cell-swatch .color-swatch,.inventory-page .data-table .cell-swatch .color-swatch-small,.inventory-page .data-table .cell-swatch .swatch-box{appearance:none;-webkit-appearance:none;border:1px solid var(--color-swatch-border);border-radius:0;cursor:pointer;display:block;height:36px;padding:0;transition:.12s ease;width:36px}.inventory-page .data-table .cell-swatch .color-swatch-small:hover,.inventory-page .data-table .cell-swatch .color-swatch:hover,.inventory-page .data-table .cell-swatch .swatch-box:hover{transform:scale(1.06)}.inventory-page .data-table .cell-swatch .color-swatch-small:active,.inventory-page .data-table .cell-swatch .color-swatch:active,.inventory-page .data-table .cell-swatch .swatch-box:active{transform:scale(1.02)}.inventory-page .data-table .cell-swatch .copied-badge{background:#fffffff2;border:1px solid #00000040;border-radius:0;color:#111;font-size:9px;left:50%;padding:2px 4px;position:absolute;top:50%;transform:translate(-50%,-50%);-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{color:var(--color-text-strong);display:block;font-family:monospace;font-size:11px;font-weight:600}.inventory-page .data-table .cell-code .color-name{color:var(--color-text-muted);display:block;font-size:11px;font-weight:400;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-page .data-table .cell-hex{color:var(--color-text-strong);font-family:monospace;font-size:11px;font-weight:400;width:150px}.inventory-page .data-table .cell-hex .hex-cell-inner{align-items:center;display:flex;gap:6px;position:relative}.inventory-page .data-table .cell-hex .hex-cell-inner .inline-edit-btn{appearance:none;background:none;border:none;color:var(--color-text-primary);cursor:pointer;flex-shrink:0;opacity:.3;padding:2px;transition:opacity .15s}.inventory-page .data-table .cell-hex .hex-cell-inner .inline-edit-btn .icon{height:18px;width:18px}.inventory-page .data-table .cell-hex .hex-cell-inner .inline-edit-btn:hover{opacity:1}.inventory-page .data-table .cell-spoolcode{color:var(--color-text-strong);font-family:monospace;font-size:11px;font-weight:400;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-length,.inventory-page .data-table .cell-weight{color:var(--color-text-body);font-size:11px;font-weight:400;white-space:nowrap}.inventory-page .data-table .loc-input,.inventory-page .data-table .qty-input{background:var(--color-bg-primary);border:1px solid var(--color-border-light);color:var(--color-text-strong);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;font-weight:400;padding:4px 6px;text-align:center;transition:.12s ease;width:45px}.inventory-page .data-table .loc-input:focus,.inventory-page .data-table .qty-input:focus{background:var(--color-bg-hover);border-color:var(--color-text-strong);outline:none}.inventory-page .data-table .cell-location{min-width:90px;overflow:visible}.inventory-page .data-table .cell-location .loc-input{text-transform:uppercase}.inventory-page .data-table .cell-location .loc-tags{align-items:center;display:flex;flex-wrap:wrap;gap:4px;min-height:26px}.inventory-page .data-table .cell-location .loc-tag{align-items:center;background:var(--color-bg-tag);border:1px solid var(--color-border-medium);display:inline-flex;font-size:11px;font-weight:600;gap:2px;line-height:1.4;padding:2px 5px;white-space:nowrap}.inventory-page .data-table .cell-location .loc-tag .loc-tag-remove{align-items:center;appearance:none;background:none;border:none;color:var(--color-text-faint);cursor:pointer;display:flex;font-size:13px;line-height:1;margin:0;padding:0 0 0 2px}.inventory-page .data-table .cell-location .loc-tag .loc-tag-remove:hover{color:var(--color-danger)}.inventory-page .data-table .cell-location .loc-add-btn{appearance:none;background:none;border:1px dashed var(--color-text-disabled);color:var(--color-text-faint);cursor:pointer;font-size:13px;line-height:1.4;padding:1px 5px}.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{font-size:11px;padding:2px 4px;text-transform:uppercase;width:36px}.inventory-page .data-table .cell-location .loc-error{color:var(--color-danger);font-size:10px}.inventory-page .data-table .cell-quantity .qty-input{appearance:textfield;-moz-appearance:textfield}.inventory-page .data-table .cell-quantity .qty-input::-webkit-inner-spin-button,.inventory-page .data-table .cell-quantity .qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.inventory-page .data-table .cell-actions{text-align:right;width:95px}.inventory-page .data-table .cell-actions .action-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,.inventory-page .data-table .cell-actions .restock-btn,.inventory-page .data-table .cell-actions .save-btn{align-items:center;background:var(--color-bg-primary);border-radius:0;color:var(--color-danger);cursor:pointer;display:inline-flex;height:24px;justify-content:center;margin-right:4px;padding:4px;transition:.15s ease;vertical-align:middle;width:24px}.inventory-page .data-table .cell-actions .action-btn .icon,.inventory-page .data-table .cell-actions .delete-btn .icon,.inventory-page .data-table .cell-actions .edit-btn .icon,.inventory-page .data-table .cell-actions .reset-btn .icon,.inventory-page .data-table .cell-actions .restock-btn .icon,.inventory-page .data-table .cell-actions .save-btn .icon{height:14px;width:14px}.inventory-page .data-table .cell-actions .action-btn:active,.inventory-page .data-table .cell-actions .delete-btn:active,.inventory-page .data-table .cell-actions .edit-btn:active,.inventory-page .data-table .cell-actions .reset-btn:active,.inventory-page .data-table .cell-actions .restock-btn:active,.inventory-page .data-table .cell-actions .save-btn:active{box-shadow:none;transform:translate(0)}.inventory-page .data-table .cell-actions .action-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,.inventory-page .data-table .cell-actions .restock-btn:last-child,.inventory-page .data-table .cell-actions .save-btn:last-child{margin-right:0}.inventory-page .data-table .cell-actions .save-btn{border:1px solid var(--color-success);opacity:.3}.inventory-page .data-table .cell-actions .save-btn:hover{opacity:1}.inventory-page .data-table .cell-actions .delete-btn,.inventory-page .data-table .cell-actions .restock-btn{border:1px solid var(--color-danger);opacity:.3}.inventory-page .data-table .cell-actions .delete-btn:hover,.inventory-page .data-table .cell-actions .restock-btn:hover{opacity:1}.inventory-page .data-table .cell-actions .edit-btn{border:1px solid var(--color-border-strong);opacity:.5}.inventory-page .data-table .cell-actions .edit-btn:hover{opacity:1}.inventory-page .data-table .cell-actions .reset-btn{border:1px solid var(--color-info);opacity:.35}.inventory-page .data-table .cell-actions .reset-btn:hover{opacity:1}.inventory-page .data-table .cell-pantone,.inventory-page .data-table .cell-thread{color:var(--color-text-body);font-size:11px;min-width:150px}.inventory-page .data-table .cell-pantone .madeira-display,.inventory-page .data-table .cell-pantone .pantone-display,.inventory-page .data-table .cell-thread .madeira-display,.inventory-page .data-table .cell-thread .pantone-display{align-items:center;display:flex;gap:8px;min-height:36px}.inventory-page .data-table .cell-pantone .madeira-display .madeira-swatch,.inventory-page .data-table .cell-pantone .madeira-display .pantone-swatch,.inventory-page .data-table .cell-pantone .pantone-display .madeira-swatch,.inventory-page .data-table .cell-pantone .pantone-display .pantone-swatch,.inventory-page .data-table .cell-thread .madeira-display .madeira-swatch,.inventory-page .data-table .cell-thread .madeira-display .pantone-swatch,.inventory-page .data-table .cell-thread .pantone-display .madeira-swatch,.inventory-page .data-table .cell-thread .pantone-display .pantone-swatch{appearance:none;-webkit-appearance:none;border:1px solid var(--color-swatch-border);border-radius:0;cursor:pointer;flex-shrink:0;height:36px;padding:0;transition:.12s ease;width:36px}.inventory-page .data-table .cell-pantone .madeira-display .madeira-swatch:hover,.inventory-page .data-table .cell-pantone .madeira-display .pantone-swatch:hover,.inventory-page .data-table .cell-pantone .pantone-display .madeira-swatch:hover,.inventory-page .data-table .cell-pantone .pantone-display .pantone-swatch:hover,.inventory-page .data-table .cell-thread .madeira-display .madeira-swatch:hover,.inventory-page .data-table .cell-thread .madeira-display .pantone-swatch:hover,.inventory-page .data-table .cell-thread .pantone-display .madeira-swatch:hover,.inventory-page .data-table .cell-thread .pantone-display .pantone-swatch:hover{transform:scale(1.06)}.inventory-page .data-table .cell-pantone .madeira-display .madeira-swatch:active,.inventory-page .data-table .cell-pantone .madeira-display .pantone-swatch:active,.inventory-page .data-table .cell-pantone .pantone-display .madeira-swatch:active,.inventory-page .data-table .cell-pantone .pantone-display .pantone-swatch:active,.inventory-page .data-table .cell-thread .madeira-display .madeira-swatch:active,.inventory-page .data-table .cell-thread .madeira-display .pantone-swatch:active,.inventory-page .data-table .cell-thread .pantone-display .madeira-swatch:active,.inventory-page .data-table .cell-thread .pantone-display .pantone-swatch:active{transform:scale(1.02)}.inventory-page .data-table .cell-pantone .madeira-display span,.inventory-page .data-table .cell-pantone .pantone-display span,.inventory-page .data-table .cell-thread .madeira-display span,.inventory-page .data-table .cell-thread .pantone-display span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-page .data-table .cell-pantone .madeira-display .na,.inventory-page .data-table .cell-pantone .pantone-display .na,.inventory-page .data-table .cell-thread .madeira-display .na,.inventory-page .data-table .cell-thread .pantone-display .na{color:var(--color-text-faint)}.inventory-page .data-table .cell-pantone .madeira-display .quality-dot,.inventory-page .data-table .cell-pantone .pantone-display .quality-dot,.inventory-page .data-table .cell-thread .madeira-display .quality-dot,.inventory-page .data-table .cell-thread .pantone-display .quality-dot{border-radius:50%;flex-shrink:0;height:8px;margin-left:auto;width:8px}.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-pantone .pantone-display .inline-edit-btn,.inventory-page .data-table .cell-pantone .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,.inventory-page .data-table .cell-thread .pantone-display .inline-edit-btn,.inventory-page .data-table .cell-thread .pantone-display .inline-reset-btn{appearance:none;background:none;border:none;color:var(--color-text-primary);cursor:pointer;flex-shrink:0;opacity:.3;padding:2px;transition:opacity .15s}.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-pantone .pantone-display .inline-edit-btn .icon,.inventory-page .data-table .cell-pantone .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,.inventory-page .data-table .cell-thread .pantone-display .inline-edit-btn .icon,.inventory-page .data-table .cell-thread .pantone-display .inline-reset-btn .icon{height:18px;width:18px}.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-pantone .pantone-display .inline-edit-btn:hover,.inventory-page .data-table .cell-pantone .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,.inventory-page .data-table .cell-thread .pantone-display .inline-edit-btn:hover,.inventory-page .data-table .cell-thread .pantone-display .inline-reset-btn:hover{opacity:1}.inventory-page .data-table .cell-pantone .madeira-display .inline-reset-btn,.inventory-page .data-table .cell-pantone .pantone-display .inline-reset-btn,.inventory-page .data-table .cell-thread .madeira-display .inline-reset-btn,.inventory-page .data-table .cell-thread .pantone-display .inline-reset-btn{color:var(--color-info);opacity:.5}.inventory-page .data-table th.sortable{cursor:pointer;transition:.1s ease;-webkit-user-select:none;user-select:none}.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}.inventory-page .data-table .cell-grip-header{padding:0;width:24px}.inventory-page .data-table .cell-grip{cursor:grab;padding:2px 4px;-webkit-user-select:none;user-select:none;width:24px}.inventory-page .data-table .cell-grip .grip-handle{color:var(--color-text-disabled);font-size:14px;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{border-bottom:1px solid var(--color-border-strong);margin-bottom:20px;padding-bottom:12px}.inventory-page .inventory-header h1{font-size:18px;font-weight:600;letter-spacing:1px;margin:0 0 4px;text-transform:uppercase}.inventory-page .inventory-header .subtitle{color:var(--color-text-muted);font-size:11px}.inventory-page section{margin-bottom:20px}.inventory-page section h2{color:var(--color-text-primary);font-size:11px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.inventory-page .scanner-section{background:var(--color-bg-panel);border:1px solid var(--color-border-strong);padding:20px}.inventory-page .scanner-section .mode-toggle{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-bottom:16px}.inventory-page .scanner-section .mode-toggle .mode-btn{text-align:center}.inventory-page .scanner-section .mode-toggle .mode-btn.active{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.inventory-page .scanner-section .scanner-form .input-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 70px 45px;margin-bottom:12px}.inventory-page .scanner-section .scanner-form .scan-input{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);color:var(--color-text-primary);font-family:monospace;font-size:15px;padding:12px 10px;text-align:center;text-transform:uppercase}.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{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);color:var(--color-text-primary);font-family:monospace;font-size:11px;padding:12px 8px;text-align:center;text-transform:uppercase}.inventory-page .scanner-section .scanner-form .location-input:focus{outline:none}.inventory-page .scanner-section .scanner-form .submit-btn{font-size:16px;font-weight:600;padding:12px 8px}.inventory-page .scanner-section .scanner-form .scan-feedback{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);font-size:13px;font-weight:500;padding:10px 12px;text-align:center}.inventory-page .scanner-section .scanner-form .scan-feedback.error{border-color:#b00020;color:#b00020}.inventory-page .scanner-section .scanner-form .scan-feedback.success{color:var(--color-text-primary)}.inventory-page .scanner-section .replace-confirm{align-items:center;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);display:flex;gap:12px;margin-top:12px;padding:10px 14px}.inventory-page .scanner-section .replace-confirm .replace-preview{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.inventory-page .scanner-section .replace-confirm .replace-preview .replace-from,.inventory-page .scanner-section .replace-confirm .replace-preview .replace-to{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.inventory-page .scanner-section .replace-confirm .replace-preview .preview-swatch{border:1px solid #00000026;flex-shrink:0;height:28px;width:28px}.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{color:var(--color-text-faint);font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.inventory-page .scanner-section .replace-confirm .replace-preview .preview-info .preview-code{color:var(--color-text-strong);font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-page .scanner-section .replace-confirm .replace-preview .replace-arrow{color:var(--color-text-faint);flex-shrink:0;font-size:18px}.inventory-page .scanner-section .replace-confirm .replace-actions{display:flex;flex-shrink:0;gap:4px}.inventory-page .scanner-section .replace-confirm .replace-actions .cancel-btn,.inventory-page .scanner-section .replace-confirm .replace-actions .confirm-btn{align-items:center;background:var(--color-bg-primary);cursor:pointer;display:inline-flex;height:24px;justify-content:center;opacity:.3;padding:4px;transition:.15s ease;width:24px}.inventory-page .scanner-section .replace-confirm .replace-actions .cancel-btn .icon,.inventory-page .scanner-section .replace-confirm .replace-actions .confirm-btn .icon{height:14px;width:14px}.inventory-page .scanner-section .replace-confirm .replace-actions .cancel-btn:hover,.inventory-page .scanner-section .replace-confirm .replace-actions .confirm-btn:hover{opacity:1}.inventory-page .scanner-section .replace-confirm .replace-actions .cancel-btn{border:1px solid var(--color-danger)}.inventory-page .scanner-section .replace-confirm .replace-actions .confirm-btn{border:1px solid var(--color-success)}.inventory-page .summary-section .summary-header{align-items:center;display:flex;justify-content:space-between;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,.inventory-page .summary-section .summary-header .summary-actions .btn.active{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.inventory-page .summary-section .summary-cards{display:flex;flex-wrap:wrap;gap:10px}.inventory-page .summary-section .summary-cards .summary-card{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);flex:1 1;min-width:80px;padding:12px 10px;text-align:center}.inventory-page .summary-section .summary-cards .summary-card .stat-value{color:var(--color-text-primary);display:block;font-size:24px;font-weight:700}.inventory-page .summary-section .summary-cards .summary-card .stat-label{color:var(--color-text-muted);display:block;font-size:9px;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.inventory-page .summary-section .summary-cards--weights{margin-top:8px}.inventory-page .summary-section .summary-cards--weights .weight-card{background:var(--color-bg-hover);border:1px solid var(--color-border-medium)}.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 .grid-footer,.inventory-page .grid-section .grid-header{display:flex;flex-wrap:nowrap;gap:1px}.inventory-page .grid-section .grid-footer .grid-corner,.inventory-page .grid-section .grid-header .grid-corner{flex-shrink:0;width:20px}.inventory-page .grid-section .grid-footer .grid-col-label,.inventory-page .grid-section .grid-header .grid-col-label{align-items:center;box-sizing:border-box;color:var(--color-text-disabled);display:flex;flex:1 1;font-size:8px;font-weight:600;height:16px;justify-content:center}.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{align-items:center;color:var(--color-text-disabled);display:flex;flex-shrink:0;font-size:8px;font-weight:600;justify-content:center;margin-left:1px;width:20px}.inventory-page .grid-section .grid-body .grid-cell{aspect-ratio:1;border:1px solid #0000;box-sizing:border-box;cursor:pointer;flex:1 1;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{border-color:var(--color-border-strong);box-shadow:0 2px 8px #00000040;transform:scale(1.2);z-index:1}.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]{align-items:center;display:flex;justify-content:center;position:relative}.inventory-page .grid-section .grid-body .grid-cell[data-qty]:after{color:#fff;content:attr(data-qty);font-size:7px;font-weight:700;pointer-events:none;text-shadow:0 0 2px #0009}.inventory-page .grid-section .grid-body .grid-cell.low-stock{position:relative}.inventory-page .grid-section .grid-body .grid-cell.low-stock:before{border-color:#0000 var(--color-danger) #0000 #0000;border-style:solid;border-width:0 7px 7px 0;content:"";height:0;position:absolute;right:0;top:0;width:0}.inventory-page .cell-popup{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-popup);display:flex;gap:10px;min-width:170px;padding:10px 12px;position:fixed;transform:translateX(-50%) translateY(6px);z-index:100}.inventory-page .cell-popup .popup-swatch{border:1px solid #0000001a;flex-shrink:0;height:40px;width:40px}.inventory-page .cell-popup .popup-info{display:flex;flex-direction:column;gap:2px}.inventory-page .cell-popup .popup-info .popup-name{color:var(--color-text-primary);font-size:12px;font-weight:600}.inventory-page .cell-popup .popup-info .popup-code{color:var(--color-text-muted);font-family:monospace;font-size:11px}.inventory-page .cell-popup .popup-info .popup-specs{align-items:center;color:var(--color-text-faint);display:flex;font-size:10px;gap:4px}.inventory-page .cell-popup .popup-info .popup-specs .popup-divider{color:var(--color-border-medium)}.inventory-page .cell-popup .popup-info .popup-stock{color:var(--color-text-muted);display:flex;font-size:10px;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-faint)}.inventory-page .cell-popup .popup-info .popup-loc{color:var(--color-text-disabled);font-size:10px;font-weight:600;margin-top:1px}.inventory-page .cell-popup .popup-info .popup-actions{display:flex;gap:6px;margin-top:4px}.inventory-page .inventory-row.highlight-flash{animation:row-flash 1.5s ease}@keyframes row-flash{0%,to{background:#0000}20%{background:#fff3cd}60%{background:#fff3cd}}.inventory-page .inventory-list-section .list-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.inventory-page .inventory-list-section .list-header h2{flex-shrink:0;margin:0}.inventory-page .inventory-list-section .list-header .search-input{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);color:var(--color-text-primary);flex:1 1;font-size:13px;max-width:250px;padding:8px 12px}.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-faint)}.inventory-page .inventory-list-section .list-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.inventory-page .inventory-list-section .list-controls .filter-controls,.inventory-page .inventory-list-section .list-controls .sort-controls{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.inventory-page .inventory-list-section .list-controls .control-label{color:var(--color-text-faint);font-size:9px;font-weight:600;letter-spacing:.5px;margin-right:2px;text-transform:uppercase}.inventory-page .inventory-list-section .list-controls .filter-btn,.inventory-page .inventory-list-section .list-controls .sort-btn{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);color:var(--color-text-primary);cursor:pointer;font-size:11px;font-weight:500;opacity:.35;padding:4px 10px;text-transform:uppercase;transition:.15s ease;white-space:nowrap}.inventory-page .inventory-list-section .list-controls .filter-btn:hover,.inventory-page .inventory-list-section .list-controls .sort-btn:hover{opacity:1}.inventory-page .inventory-list-section .list-controls .filter-btn:active,.inventory-page .inventory-list-section .list-controls .sort-btn:active{opacity:.8}.inventory-page .inventory-list-section .list-controls .filter-btn.active,.inventory-page .inventory-list-section .list-controls .sort-btn.active{background:var(--color-bg-inverse);color:var(--color-text-inverse);opacity:1}.inventory-page .inventory-list-section .list-controls .filter-btn .sort-arrow,.inventory-page .inventory-list-section .list-controls .sort-btn .sort-arrow{display:inline-block;height:10px;margin-left:4px;position:relative;top:-1px;vertical-align:middle;width:10px}.inventory-page .inventory-list-section .empty-state,.inventory-page .inventory-list-section .error,.inventory-page .inventory-list-section .loading{color:var(--color-text-muted);font-size:12px;padding:30px;text-align:center}.inventory-page .inventory-list-section .cell-location{min-width:90px}.inventory-page .inventory-list-section .cell-location .loc-tags{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:4px}.inventory-page .inventory-list-section .cell-location .loc-tag{align-items:center;background:var(--color-bg-tag);border:1px solid var(--color-border-medium);display:inline-flex;font-size:11px;font-weight:600;gap:2px;padding:2px 5px;white-space:nowrap}.inventory-page .inventory-list-section .error{border:1px solid #b00020;color:#b00020}.inventory-page .inventory-list-section .inventory-row.has-empties{border-left:3px solid var(--color-warning)}.inventory-page .inventory-list-section .qty-cell{align-items:center;display:flex;gap:2px}.inventory-page .inventory-list-section .qty-step-btn{align-items:center;background:#fff;background:var(--color-bg-primary,#fff);border:1px solid #ccc;border:1px solid var(--color-border-medium,#ccc);color:#000;color:var(--color-text-primary,#000);cursor:pointer;display:inline-flex;font-family:monospace;font-size:14px;font-weight:600;height:22px;justify-content:center;opacity:.3;padding:0;transition:.12s ease;-webkit-user-select:none;user-select:none;width:22px}.inventory-page .inventory-list-section .qty-step-btn:hover{border-color:#000;border-color:var(--color-border-strong,#000);opacity:1}.inventory-page .inventory-list-section .qty-step-btn:active{transform:scale(.9)}.inventory-page .inventory-list-section .qty-step-btn:disabled{cursor:not-allowed;opacity:.1}.inventory-page .inventory-list-section .qty-value{border:1px solid #0000;cursor:pointer;font-family:monospace;font-size:12px;font-weight:600;min-width:24px;padding:2px 4px;text-align:center;transition:.12s ease}.inventory-page .inventory-list-section .qty-value:hover{background:#f5f5f5;background:var(--color-bg-hover,#f5f5f5);border-color:#ddd;border-color:var(--color-border-light,#ddd)}.inventory-page .inventory-list-section .qty-input{border:1px solid #000;border:1px solid var(--color-border-strong,#000);font-family:monospace;font-size:12px;font-weight:600;outline:none;padding:2px 4px;text-align:center;width:36px}.inventory-page .inventory-list-section .empty-badge{align-items:center;background:var(--color-danger);border:none;color:#fff;cursor:pointer;display:inline-flex;font-family:monospace;font-size:10px;font-weight:700;padding:1px 6px;transition:.1s ease;white-space:nowrap}.inventory-page .inventory-list-section .empty-badge:hover{opacity:.8}.inventory-page .inventory-list-section .reset-btn{align-items:center;background:var(--color-bg-primary);border:1px solid var(--color-success);cursor:pointer;display:inline-flex;justify-content:center;padding:4px}.inventory-page .inventory-list-section .reset-btn .icon{filter:invert(42%) sepia(93%) saturate(352%) hue-rotate(82deg) brightness(97%) contrast(89%);height:14px;width:14px}.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{align-items:center;display:inline-flex;font-size:11px;font-weight:600;gap:6px}.inventory-page .inventory-list-section .confirm-delete-inline span{color:var(--color-danger)}.inventory-page .inventory-list-section .confirm-delete-inline button{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);color:var(--color-text-primary);cursor:pointer;font-size:11px;font-weight:600;padding:2px 8px}.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{border-left:3px solid var(--color-danger);margin-left:8px;padding:10px 16px 14px 60px}.inventory-page .inventory-list-section .empty-detail .no-logs{color:var(--color-text-faint);font-size:11px;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{align-items:baseline;display:flex;gap:12px}.inventory-page .inventory-list-section .empty-detail .detail-day .detail-date{color:var(--color-text-faint);flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.3px;min-width:100px;text-transform:uppercase}.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{border:1px solid;font-family:monospace;font-size:11px;font-weight:600;padding:2px 8px}.inventory-page .inventory-list-section .empty-detail .detail-day .detail-event.emptied,.inventory-page .inventory-list-section .empty-detail .detail-day .detail-event.removed{background:#ffebee;border-color:#ef9a9a;color:var(--color-danger)}.inventory-page .inventory-list-section .empty-detail .detail-day .detail-event.added,.inventory-page .inventory-list-section .empty-detail .detail-day .detail-event.refilled{background:#e3f2fd;border-color:#90caf9;color:#1565c0}.inventory-page .inventory-list-section .empty-detail .detail-day .detail-event.reset{background:#e8f5e9;border-color:#a5d6a7;color:var(--color-success)}.inventory-page .has-empty{color:var(--color-danger)}.inventory-page .qty-total{color:var(--color-text-faint);font-size:10px}.inventory-page .backup-section{border:1px solid var(--color-border-light);margin-top:20px;padding:16px}.inventory-page .backup-section .backup-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.inventory-page .backup-section .backup-header h2{font-size:14px;margin:0}.inventory-page .backup-section .backup-empty,.inventory-page .backup-section .backup-loading{color:var(--color-text-muted);font-size:12px}.inventory-page .backup-section .backup-list{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:16px;max-height:250px;overflow-y:auto}.inventory-page .backup-section .backup-item .backup-item__btn{align-items:center;background:var(--color-bg-primary);border:1px solid var(--color-border-light);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:12px;justify-content:space-between;padding:10px 14px;transition:.12s ease;width:100%}.inventory-page .backup-section .backup-item .backup-item__btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.inventory-page .backup-section .backup-item.active .backup-item__btn{background:var(--color-bg-inverse);border-color:var(--color-bg-inverse);color:var(--color-text-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{color:var(--color-text-faint);flex-shrink:0;font-size:10px;margin-left:12px}.inventory-page .backup-section .backup-view h3{color:var(--color-text-muted);font-size:12px;margin:0 0 10px}.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{align-items:center;border:1px solid var(--color-border-light);display:flex;font-size:11px;gap:6px;padding:4px 8px}.inventory-page .backup-section .backup-flat .backup-flat__swatch{border:1px solid var(--color-border-medium);flex-shrink:0;height:16px;width:16px}.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{margin-top:10px;padding:14px}.inventory-page .scanner-section .scanner-form .input-row{flex-direction:column}.inventory-page .scanner-section .scanner-form .location-input,.inventory-page .scanner-section .scanner-form .scan-input{width:100%}.inventory-page .grid-section .grid-container{max-width:100%;overflow-x:auto}.inventory-page .inventory-list-section .data-table .cell-length,.inventory-page .inventory-list-section .data-table .cell-location,.inventory-page .inventory-list-section .data-table .cell-spoolcode,.inventory-page .inventory-list-section .data-table .cell-weight,.inventory-page .inventory-list-section .data-table thead{display:none}}.review-content{background-color:var(--color-bg-panel);height:90vh;max-width:1400px;overflow:hidden;width:90vw}.review-body{display:flex;flex:1 1;gap:10px;min-height:0;padding:0 20px}.review-pdf-pane{border-right:1px solid var(--color-border-light);width:50%}.review-pdf-pane iframe{border:none;height:100%;width:100%}.review-pdf-pane .no-pdf{align-items:center;color:var(--color-text-faint);display:flex;font-size:13px;height:100%;justify-content:center;letter-spacing:.4px;text-transform:uppercase}.review-form-pane{display:flex;flex-direction:column;gap:20px;overflow-y:auto;padding:20px;width:50%}.field-group .field-group-title{color:var(--color-text-faint);font-size:10px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.field-group .field-group-fields{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.review-field--warning{border-left:3px solid var(--color-warning);padding-left:8px}@media(max-width:800px){.review-content{height:95vh;width:98vw}.review-body{flex-direction:column}.review-pdf-pane{border-bottom:1px solid var(--color-border-light);border-right:none;height:40%;width:100%}.review-form-pane{height:60%;width:100%}}.data-table{border-collapse:collapse;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;width:100%}.data-table thead{background:var(--color-bg-panel);border-bottom:1px solid var(--color-border-light);position:sticky;top:0}.data-table thead th{border-bottom:1px solid var(--color-border-medium);color:var(--color-text-strong);font-size:11px;font-weight:600;padding:6px 8px;text-align:left;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{position:relative;width:48px}.data-table .cell-swatch .color-swatch,.data-table .cell-swatch .color-swatch-small,.data-table .cell-swatch .swatch-box{appearance:none;-webkit-appearance:none;border:1px solid var(--color-swatch-border);border-radius:0;cursor:pointer;display:block;height:36px;padding:0;transition:.12s ease;width:36px}.data-table .cell-swatch .color-swatch-small:hover,.data-table .cell-swatch .color-swatch:hover,.data-table .cell-swatch .swatch-box:hover{transform:scale(1.06)}.data-table .cell-swatch .color-swatch-small:active,.data-table .cell-swatch .color-swatch:active,.data-table .cell-swatch .swatch-box:active{transform:scale(1.02)}.data-table .cell-swatch .copied-badge{background:#fffffff2;border:1px solid #00000040;border-radius:0;color:#111;font-size:9px;left:50%;padding:2px 4px;position:absolute;top:50%;transform:translate(-50%,-50%);-webkit-user-select:none;user-select:none;white-space:nowrap}.data-table .cell-code{min-width:120px}.data-table .cell-code .code-value{color:var(--color-text-strong);display:block;font-family:monospace;font-size:11px;font-weight:600}.data-table .cell-code .color-name{color:var(--color-text-muted);display:block;font-size:11px;font-weight:400;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table .cell-hex{color:var(--color-text-strong);font-family:monospace;font-size:11px;font-weight:400;width:150px}.data-table .cell-hex .hex-cell-inner{align-items:center;display:flex;gap:6px;position:relative}.data-table .cell-hex .hex-cell-inner .inline-edit-btn{appearance:none;background:none;border:none;color:var(--color-text-primary);cursor:pointer;flex-shrink:0;opacity:.3;padding:2px;transition:opacity .15s}.data-table .cell-hex .hex-cell-inner .inline-edit-btn .icon{height:18px;width:18px}.data-table .cell-hex .hex-cell-inner .inline-edit-btn:hover{opacity:1}.data-table .cell-spoolcode{color:var(--color-text-strong);font-family:monospace;font-size:11px;font-weight:400;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-length,.data-table .cell-weight{color:var(--color-text-body);font-size:11px;font-weight:400;white-space:nowrap}.data-table .loc-input,.data-table .qty-input{background:var(--color-bg-primary);border:1px solid var(--color-border-light);color:var(--color-text-strong);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;font-weight:400;padding:4px 6px;text-align:center;transition:.12s ease;width:45px}.data-table .loc-input:focus,.data-table .qty-input:focus{background:var(--color-bg-hover);border-color:var(--color-text-strong);outline:none}.data-table .cell-location{min-width:90px;overflow:visible}.data-table .cell-location .loc-input{text-transform:uppercase}.data-table .cell-location .loc-tags{align-items:center;display:flex;flex-wrap:wrap;gap:4px;min-height:26px}.data-table .cell-location .loc-tag{align-items:center;background:var(--color-bg-tag);border:1px solid var(--color-border-medium);display:inline-flex;font-size:11px;font-weight:600;gap:2px;line-height:1.4;padding:2px 5px;white-space:nowrap}.data-table .cell-location .loc-tag .loc-tag-remove{align-items:center;appearance:none;background:none;border:none;color:var(--color-text-faint);cursor:pointer;display:flex;font-size:13px;line-height:1;margin:0;padding:0 0 0 2px}.data-table .cell-location .loc-tag .loc-tag-remove:hover{color:var(--color-danger)}.data-table .cell-location .loc-add-btn{appearance:none;background:none;border:1px dashed var(--color-text-disabled);color:var(--color-text-faint);cursor:pointer;font-size:13px;line-height:1.4;padding:1px 5px}.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{font-size:11px;padding:2px 4px;text-transform:uppercase;width:36px}.data-table .cell-location .loc-error{color:var(--color-danger);font-size:10px}.data-table .cell-quantity .qty-input{appearance:textfield;-moz-appearance:textfield}.data-table .cell-quantity .qty-input::-webkit-inner-spin-button,.data-table .cell-quantity .qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.data-table .cell-actions{text-align:right;width:95px}.data-table .cell-actions .action-btn,.data-table .cell-actions .delete-btn,.data-table .cell-actions .edit-btn,.data-table .cell-actions .reset-btn,.data-table .cell-actions .restock-btn,.data-table .cell-actions .save-btn{align-items:center;background:var(--color-bg-primary);border-radius:0;color:var(--color-danger);cursor:pointer;display:inline-flex;height:24px;justify-content:center;margin-right:4px;padding:4px;transition:.15s ease;vertical-align:middle;width:24px}.data-table .cell-actions .action-btn .icon,.data-table .cell-actions .delete-btn .icon,.data-table .cell-actions .edit-btn .icon,.data-table .cell-actions .reset-btn .icon,.data-table .cell-actions .restock-btn .icon,.data-table .cell-actions .save-btn .icon{height:14px;width:14px}.data-table .cell-actions .action-btn:active,.data-table .cell-actions .delete-btn:active,.data-table .cell-actions .edit-btn:active,.data-table .cell-actions .reset-btn:active,.data-table .cell-actions .restock-btn:active,.data-table .cell-actions .save-btn:active{box-shadow:none;transform:translate(0)}.data-table .cell-actions .action-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,.data-table .cell-actions .restock-btn:last-child,.data-table .cell-actions .save-btn:last-child{margin-right:0}.data-table .cell-actions .save-btn{border:1px solid var(--color-success);opacity:.3}.data-table .cell-actions .save-btn:hover{opacity:1}.data-table .cell-actions .delete-btn,.data-table .cell-actions .restock-btn{border:1px solid var(--color-danger);opacity:.3}.data-table .cell-actions .delete-btn:hover,.data-table .cell-actions .restock-btn:hover{opacity:1}.data-table .cell-actions .edit-btn{border:1px solid var(--color-border-strong);opacity:.5}.data-table .cell-actions .edit-btn:hover{opacity:1}.data-table .cell-actions .reset-btn{border:1px solid var(--color-info);opacity:.35}.data-table .cell-actions .reset-btn:hover{opacity:1}.data-table .cell-pantone,.data-table .cell-thread{color:var(--color-text-body);font-size:11px;min-width:150px}.data-table .cell-pantone .madeira-display,.data-table .cell-pantone .pantone-display,.data-table .cell-thread .madeira-display,.data-table .cell-thread .pantone-display{align-items:center;display:flex;gap:8px;min-height:36px}.data-table .cell-pantone .madeira-display .madeira-swatch,.data-table .cell-pantone .madeira-display .pantone-swatch,.data-table .cell-pantone .pantone-display .madeira-swatch,.data-table .cell-pantone .pantone-display .pantone-swatch,.data-table .cell-thread .madeira-display .madeira-swatch,.data-table .cell-thread .madeira-display .pantone-swatch,.data-table .cell-thread .pantone-display .madeira-swatch,.data-table .cell-thread .pantone-display .pantone-swatch{appearance:none;-webkit-appearance:none;border:1px solid var(--color-swatch-border);border-radius:0;cursor:pointer;flex-shrink:0;height:36px;padding:0;transition:.12s ease;width:36px}.data-table .cell-pantone .madeira-display .madeira-swatch:hover,.data-table .cell-pantone .madeira-display .pantone-swatch:hover,.data-table .cell-pantone .pantone-display .madeira-swatch:hover,.data-table .cell-pantone .pantone-display .pantone-swatch:hover,.data-table .cell-thread .madeira-display .madeira-swatch:hover,.data-table .cell-thread .madeira-display .pantone-swatch:hover,.data-table .cell-thread .pantone-display .madeira-swatch:hover,.data-table .cell-thread .pantone-display .pantone-swatch:hover{transform:scale(1.06)}.data-table .cell-pantone .madeira-display .madeira-swatch:active,.data-table .cell-pantone .madeira-display .pantone-swatch:active,.data-table .cell-pantone .pantone-display .madeira-swatch:active,.data-table .cell-pantone .pantone-display .pantone-swatch:active,.data-table .cell-thread .madeira-display .madeira-swatch:active,.data-table .cell-thread .madeira-display .pantone-swatch:active,.data-table .cell-thread .pantone-display .madeira-swatch:active,.data-table .cell-thread .pantone-display .pantone-swatch:active{transform:scale(1.02)}.data-table .cell-pantone .madeira-display span,.data-table .cell-pantone .pantone-display span,.data-table .cell-thread .madeira-display span,.data-table .cell-thread .pantone-display span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table .cell-pantone .madeira-display .na,.data-table .cell-pantone .pantone-display .na,.data-table .cell-thread .madeira-display .na,.data-table .cell-thread .pantone-display .na{color:var(--color-text-faint)}.data-table .cell-pantone .madeira-display .quality-dot,.data-table .cell-pantone .pantone-display .quality-dot,.data-table .cell-thread .madeira-display .quality-dot,.data-table .cell-thread .pantone-display .quality-dot{border-radius:50%;flex-shrink:0;height:8px;margin-left:auto;width:8px}.data-table .cell-pantone .madeira-display .inline-edit-btn,.data-table .cell-pantone .madeira-display .inline-reset-btn,.data-table .cell-pantone .pantone-display .inline-edit-btn,.data-table .cell-pantone .pantone-display .inline-reset-btn,.data-table .cell-thread .madeira-display .inline-edit-btn,.data-table .cell-thread .madeira-display .inline-reset-btn,.data-table .cell-thread .pantone-display .inline-edit-btn,.data-table .cell-thread .pantone-display .inline-reset-btn{appearance:none;background:none;border:none;color:var(--color-text-primary);cursor:pointer;flex-shrink:0;opacity:.3;padding:2px;transition:opacity .15s}.data-table .cell-pantone .madeira-display .inline-edit-btn .icon,.data-table .cell-pantone .madeira-display .inline-reset-btn .icon,.data-table .cell-pantone .pantone-display .inline-edit-btn .icon,.data-table .cell-pantone .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,.data-table .cell-thread .pantone-display .inline-edit-btn .icon,.data-table .cell-thread .pantone-display .inline-reset-btn .icon{height:18px;width:18px}.data-table .cell-pantone .madeira-display .inline-edit-btn:hover,.data-table .cell-pantone .madeira-display .inline-reset-btn:hover,.data-table .cell-pantone .pantone-display .inline-edit-btn:hover,.data-table .cell-pantone .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,.data-table .cell-thread .pantone-display .inline-edit-btn:hover,.data-table .cell-thread .pantone-display .inline-reset-btn:hover{opacity:1}.data-table .cell-pantone .madeira-display .inline-reset-btn,.data-table .cell-pantone .pantone-display .inline-reset-btn,.data-table .cell-thread .madeira-display .inline-reset-btn,.data-table .cell-thread .pantone-display .inline-reset-btn{color:var(--color-info);opacity:.5}.data-table th.sortable{cursor:pointer;transition:.1s ease;-webkit-user-select:none;user-select:none}.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}.data-table .cell-grip-header{padding:0;width:24px}.data-table .cell-grip{cursor:grab;padding:2px 4px;-webkit-user-select:none;user-select:none;width:24px}.data-table .cell-grip .grip-handle{color:var(--color-text-disabled);font-size:14px;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)}.production{display:flex;flex-direction:column;gap:20px;margin:20px auto 40px;max-width:1600px;transition:background .15s ease;width:95vw}.production.drag-over .upload-area{background:var(--color-info-bg);border-color:var(--color-accent);border-style:dashed}.production.drag-over .drop-zone{border-color:var(--color-accent);color:var(--color-accent)}.production .upload-area{align-items:center;background:var(--color-bg-panel);border:1px solid var(--color-border-strong);display:flex;flex-wrap:wrap;gap:16px;padding:20px;transition:background .15s ease,border-color .15s ease}.production .upload-area .upload-label{color:var(--color-text-secondary);font-size:12px;font-weight:500;letter-spacing:.6px;text-transform:uppercase}.production .upload-area input[type=file]{display:none}.production .drop-zone{align-items:center;background:var(--color-bg-primary);border:2px dashed var(--color-text-faint);color:var(--color-text-faint);display:flex;font-size:14px;gap:12px;justify-content:center;letter-spacing:.5px;padding:400px 20px;text-transform:uppercase;transition:border-color .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.production .drop-zone.processing{border-color:var(--color-text-secondary);color:var(--color-text-secondary)}.production .design-cards{display:flex;flex-direction:column;gap:16px}.production .design-card{background:var(--color-bg-primary);border:1px solid var(--color-border-strong)}.production .design-card .card-header{align-items:center;background:var(--color-bg-hover);border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;padding:12px 16px}.production .design-card .card-header .design-name{font-size:14px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.production .design-card .card-header .design-file{color:var(--color-text-faint);font-size:11px;font-weight:400;margin-left:12px}.production .design-card .card-header .remove-btn{align-items:center;background:none;border:1px solid var(--color-border-light);color:var(--color-text-faint);cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;opacity:.3;transition:.15s ease;width:28px}.production .design-card .card-header .remove-btn .icon{height:14px;width:14px}.production .design-card .card-header .remove-btn:hover{border-color:var(--color-danger);color:var(--color-danger);opacity:.8}.production .design-card .card-body{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;padding:16px}@media(max-width:900px){.production .design-card .card-body{grid-template-columns:1fr}}.production .design-card .summary-grid{grid-gap:4px 12px;align-content:start;display:grid;font-size:12px;gap:4px 12px;grid-template-columns:auto 1fr}.production .design-card .summary-grid .label{color:var(--color-text-faint);font-size:10px;font-weight:500;letter-spacing:.4px;padding-top:2px;text-transform:uppercase}.production .design-card .summary-grid .value{color:var(--color-text-strong);font-family:monospace;font-weight:500}.production .design-card .thread-table-wrap{overflow-x:auto}.production .params-section{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:16px 20px}.production .params-section .params-title{align-items:center;color:var(--color-text-secondary);display:flex;font-size:12px;font-weight:600;justify-content:space-between;letter-spacing:.6px;margin-bottom:12px;text-transform:uppercase}.production .params-section .params-title .unit-toggle{background:none;border:1px solid var(--color-border-strong);color:var(--color-text-secondary);cursor:pointer;font-size:11px;letter-spacing:0;opacity:.5;padding:4px 10px;text-transform:none;transition:opacity .15s ease}.production .params-section .params-title .unit-toggle:hover{opacity:1}.production .params-section .params-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.production .results-section{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);padding:20px}.production .results-section .results-title{color:var(--color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.6px;margin-bottom:16px;text-transform:uppercase}.production .results-section .metrics-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-bottom:20px}.production .results-section .metric-card{background:var(--color-bg-panel);border:1px solid var(--color-border-subtle);padding:12px}.production .results-section .metric-card .metric-value{color:var(--color-text-primary);font-family:monospace;font-size:22px;font-weight:700;letter-spacing:-.5px}.production .results-section .metric-card .metric-label{color:var(--color-text-faint);font-size:10px;font-weight:500;letter-spacing:.4px;margin-top:4px;text-transform:uppercase}.production .results-section .cost-grid{grid-gap:4px 16px;display:grid;font-size:12px;gap:4px 16px;grid-template-columns:auto 1fr auto;margin-top:16px;max-width:400px}.production .results-section .cost-grid .cost-label{color:var(--color-text-faint);font-size:10px;font-weight:500;letter-spacing:.4px;padding-top:2px;text-transform:uppercase}.production .results-section .cost-grid .cost-qty{color:var(--color-text-muted)}.production .results-section .cost-grid .cost-value{font-family:monospace;font-weight:600;text-align:right}.production .results-section .cost-grid .cost-total{border-top:1px solid var(--color-border-strong);display:flex;font-family:monospace;font-size:14px;font-weight:700;grid-column:1/-1;justify-content:space-between;margin-top:4px;padding-top:8px}.production .actions-bar{display:flex;flex-wrap:wrap;gap:12px}.production .color-sequence{margin-top:4px}.toast{align-items:center;animation:toast-in .25s ease forwards;border:1px solid;bottom:24px;display:flex;font-size:13px;gap:12px;left:50%;letter-spacing:.3px;max-width:520px;padding:12px 18px;position:fixed;transform:translateX(-50%);z-index:var(--z-toast)}.toast--exit{animation:toast-out .25s ease forwards}.toast--error{background:var(--color-danger-bg);border-color:var(--color-error-strong);color:var(--color-error-strong)}.toast--success{background:var(--color-success-bg);border-color:var(--color-success-strong);color:var(--color-success-strong)}.toast--info{background:var(--color-info-bg);border-color:var(--color-info-strong);color:var(--color-info-strong)}.toast__message{flex:1 1;line-height:1.4}.toast__close{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;opacity:.6;padding:0 2px;transition:opacity .15s}.toast__close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateX(-50%) translateY(12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(12px)}}.auth-overlay{align-items:center;background:var(--color-overlay);display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.auth-form{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);display:flex;flex-direction:column;gap:14px;padding:32px 28px;width:340px}.auth-form .auth-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.auth-form .auth-header h2{font-size:16px;font-weight:600;letter-spacing:.5px;margin:0}.auth-form .auth-header .auth-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:22px;line-height:1;padding:0 4px}.auth-form .auth-header .auth-close:hover,.auth-form input{color:var(--color-text-primary)}.auth-form input{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);font-family:inherit;font-size:14px;outline:none;padding:10px 12px;text-transform:none}.auth-form input:focus{box-shadow:-2px 2px 0 var(--color-border-strong)}.auth-form .auth-error{color:var(--color-danger);font-size:12px}.auth-form .auth-toggle{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;font-size:12px;padding:4px 0 0;text-align:center}.auth-form .auth-toggle:hover{color:var(--color-text-primary)}.mockup-modal{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.mockup-modal .mockup-backdrop{background-color:var(--color-overlay);cursor:pointer;inset:0;position:absolute}.mockup-modal .mockup-content{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);display:flex;flex-direction:column;height:90vh;max-height:95vh;max-height:900px;max-width:95vw;max-width:1200px;position:relative;width:90vw;z-index:1001}.mockup-modal .mockup-header{align-items:center;border-bottom:1px solid var(--color-border-strong);display:flex;justify-content:space-between;padding:12px 16px}.mockup-modal .mockup-header h3{font-size:14px;font-weight:600;margin:0}.mockup-modal .mockup-header .header-help{color:var(--color-text-muted);font-size:11px;left:50%;margin:0;position:absolute;transform:translateX(-50%)}.mockup-modal .garment-picker-screen{flex:1 1;overflow-y:auto;padding:24px}.mockup-modal .garment-picker-screen .garment-categories{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.mockup-modal .garment-picker-screen .garment-categories .category-tab{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);color:var(--color-text-primary);cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;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{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.mockup-modal .garment-picker-screen .garment-grid .garment-card{align-items:center;background:var(--color-bg-primary);border:2px solid var(--color-border-medium);cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:12px;transition:.15s ease}.mockup-modal .garment-picker-screen .garment-grid .garment-card:hover{border-color:var(--color-border-strong);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.mockup-modal .garment-picker-screen .garment-grid .garment-card img{aspect-ratio:1;background:var(--color-bg-panel);object-fit:contain;width:100%}.mockup-modal .garment-picker-screen .garment-grid .garment-card span{font-size:12px;font-weight:500;text-align:center}.mockup-modal .mockup-toolbar{background:var(--color-bg-hover);border-bottom:1px solid var(--color-border-light);padding:8px 12px}.mockup-modal .mockup-toolbar,.mockup-modal .mockup-toolbar .toolbar-left{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.mockup-modal .mockup-toolbar .toolbar-right{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto}.mockup-modal .mockup-toolbar .toolbar-sep{background:var(--color-border-light);height:24px;margin:0 4px;width:1px}.mockup-modal .mockup-toolbar .control-group{align-items:center;display:flex;gap:4px}.mockup-modal .mockup-toolbar .control-group label{color:var(--color-text-muted);font-size:11px;font-weight:500;white-space:nowrap}.mockup-modal .mockup-toolbar .control-group input[type=range]{width:70px}.mockup-modal .mockup-toolbar .control-group .value-display{font-size:11px;font-weight:600;min-width:30px}.mockup-modal .mockup-toolbar .snap-btn{font-size:10px!important;min-width:0;min-width:auto;padding:2px 6px!important}.mockup-modal .tool-btn{background:var(--color-bg-primary);border:1px solid var(--color-border-medium);border-radius:0;color:var(--color-text-body);cursor:pointer;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;transition:.15s ease}.mockup-modal .tool-btn:hover{box-shadow:-4px 4px 0 var(--color-border-strong);transform:translate(2px,-2px)}.mockup-modal .tool-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.35;transform:none}.mockup-modal .tool-btn.danger{border-color:var(--color-danger);color:var(--color-danger)}.mockup-modal .tool-btn{align-items:center;border-color:var(--color-border-strong);color:var(--color-text-primary);display:flex;font-size:11px;font-weight:500;gap:4px;justify-content:center;padding:4px 10px}.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 .scale-bar{align-items:center;background:var(--color-bg-tag);border-bottom:1px solid var(--color-border-light);display:flex;gap:10px;padding:8px 16px}.mockup-modal .scale-bar .scale-bar-label{font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.mockup-modal .scale-bar .scale-input{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);color:var(--color-text-primary);font-size:13px;padding:7px 12px}.mockup-modal .scale-bar .scale-input:focus{box-shadow:-3px 3px 0 var(--color-border-strong);outline:none}.mockup-modal .scale-bar .scale-input{width:80px}.mockup-modal .scale-bar .unit-toggle{border:1px solid var(--color-border-strong);display:flex;overflow:hidden}.mockup-modal .scale-bar .unit-toggle button{background:var(--color-bg-primary);border:none;color:var(--color-text-muted);cursor:pointer;font-size:12px;font-weight:600;padding:4px 10px;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{align-items:center;display:flex;gap:4px}.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 .canvas-container{align-items:center;background:var(--color-bg-panel);cursor:crosshair;display:flex;flex:1 1;justify-content:center;overflow:hidden;position:relative;touch-action:none;-webkit-user-select:none;user-select:none}.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{background-color:#fff;background-image:linear-gradient(45deg,#00000014 25%,#0000 0),linear-gradient(-45deg,#00000014 25%,#0000 0),linear-gradient(45deg,#0000 75%,#00000014 0),linear-gradient(-45deg,#0000 75%,#00000014 0);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;inset:0;pointer-events:none;position:absolute;z-index:0}.mockup-modal .canvas-container .ruler-top{height:20px;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:20}.mockup-modal .canvas-container .ruler-left{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:20px;z-index:20}.mockup-modal .canvas-container .ruler-corner{background:var(--color-bg-hover);border-bottom:1px solid var(--color-border-light);border-right:1px solid var(--color-border-light);height:20px;left:0;pointer-events:none;position:absolute;top:0;width:20px;z-index:21}.mockup-modal .canvas-container .mockup-canvas{background:#0000;display:block;position:relative;transform-origin:center center;transition:none;z-index:1}.mockup-modal .canvas-container .design-overlay{pointer-events:none;position:absolute;z-index:10}.mockup-modal .canvas-container .design-bounds{border:1px dashed #0078ffb3;pointer-events:none;position:absolute}.mockup-modal .canvas-container .design-handle{background:#fff;border:2px solid #0078ff;height:10px;pointer-events:auto;position:absolute;transform:translate(-50%,-50%);width:10px;z-index:11}.mockup-modal .canvas-container .design-handle.nw{cursor:nw-resize}.mockup-modal .canvas-container .design-handle.ne{cursor:ne-resize}.mockup-modal .canvas-container .design-handle.sw{cursor:sw-resize}.mockup-modal .canvas-container .design-handle.se{cursor:se-resize}.mockup-modal .canvas-container .bg-switcher{bottom:10px;display:flex;gap:6px;position:absolute;right:10px;z-index:22}.mockup-modal .canvas-container .bg-switcher .bg-swatch{border:2px solid var(--color-text-disabled);box-shadow:0 1px 4px #0003;cursor:pointer;height:28px;padding:0;transition:.15s ease;width:28px}.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,#00000026 25%,#0000 0),linear-gradient(-45deg,#00000026 25%,#0000 0),linear-gradient(45deg,#0000 75%,#00000026 0),linear-gradient(-45deg,#0000 75%,#00000026 0);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px}.mockup-modal .mockup-footer{align-items:center;border-top:1px solid var(--color-border-light);display:flex;gap:10px;justify-content:space-between;padding:8px 12px}.mockup-modal .mockup-footer .footer-left{align-items:center;display:flex;gap:8px}.mockup-modal .mockup-footer .footer-left .control-group{align-items:center;display:flex;gap:4px}.mockup-modal .mockup-footer .footer-left .control-group label{color:var(--color-text-muted);font-size:11px;font-weight:500}.mockup-modal .mockup-footer .footer-left .control-group input[type=range]{width:70px}.mockup-modal .mockup-footer .footer-left .control-group .value-display{font-size:11px;font-weight:600;min-width:30px}.mockup-modal .mockup-footer .footer-right{align-items:center;display:flex;gap:10px}.mockup-modal .mockup-footer .btn{letter-spacing:.6px;text-transform:uppercase}.mockup-modal .mockup-footer .btn-save{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.mockup-modal .mockup-footer .btn-save:hover:not(:disabled){background:var(--color-text-body)}.mockup-modal .mockup-footer .save-msg{align-self:center;color:var(--color-success);font-size:12px;font-weight:500}@media(max-width:768px){.mockup-modal .mockup-content{height:100%;max-height:none;max-width:none;width:100%}.mockup-modal .mockup-toolbar{flex-direction:column;gap:8px}.mockup-modal .mockup-toolbar .toolbar-left,.mockup-modal .mockup-toolbar .toolbar-right{justify-content:space-between;width:100%}}.mockups-page .mockups-section{margin-bottom:28px}.mockups-page .mockups-section .section-title{color:var(--color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.6px;margin:0 0 12px;text-transform:uppercase}.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{color:var(--color-text-muted);font-size:13px;padding:20px 0}.mockups-page .design-card{align-items:center;background:var(--color-bg-primary);border:1px solid var(--color-border-light);cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;padding:0;transition:.15s ease;width:90px}.mockups-page .design-card:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.mockups-page .design-card .design-card__thumb{align-items:center;background:var(--color-bg-panel);display:flex;height:80px;justify-content:center;overflow:hidden;width:100%}.mockups-page .design-card .design-card__thumb img{height:100%;object-fit:contain;width:100%}.mockups-page .design-card .design-card__placeholder{color:var(--color-text-faint);font-size:11px;font-weight:600;text-transform:uppercase}.mockups-page .design-card .design-card__name{border-top:1px solid var(--color-border-subtle);color:var(--color-text-secondary);display:block;font-size:10px;overflow:hidden;padding:4px 6px;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.projects-page{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);margin-top:20px;max-width:1600px;padding:24px;width:95vw}.projects-page .projects-page-header{align-items:center;border-bottom:1px solid var(--color-border-strong);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.projects-page .projects-page-header h2{font-size:18px;font-weight:600;letter-spacing:1px;margin:0;text-transform:uppercase}.projects-page .projects-page-header .create-group{align-items:center;display:flex;gap:8px}.projects-page .projects-page-header .create-group .create-group__input{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);color:var(--color-text-primary);font-family:inherit;font-size:13px;padding:7px 12px;width:200px}.projects-page .projects-page-header .create-group .create-group__input:focus{box-shadow:-3px 3px 0 var(--color-border-strong);outline:none}.projects-page .projects-page-empty,.projects-page .projects-page-loading{color:var(--color-text-faint);font-size:12px;letter-spacing:.5px;padding:60px 20px;text-align:center;text-transform:uppercase}.projects-page .projects-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.projects-page .project-card{align-items:center;border:1px solid var(--color-border-light);cursor:pointer;display:flex;gap:12px;padding:10px 12px;position:relative;transition:background .1s,border-color .1s}.projects-page .project-card:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.projects-page .project-card .project-card-thumb{align-items:center;background:var(--color-bg-panel);border:1px solid var(--color-border-light);display:flex;flex-shrink:0;height:48px;justify-content:center;overflow:hidden;width:48px}.projects-page .project-card .project-card-thumb img{height:100%;object-fit:cover;width:100%}.projects-page .project-card .project-card-thumb .project-card-icon{align-items:center;color:var(--color-text-faint);display:flex;font-size:10px;justify-content:center;letter-spacing:1px;text-transform:uppercase}.projects-page .project-card .project-card-thumb .project-card-icon svg{color:var(--color-text-faint)}.projects-page .project-card .project-card-body{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.projects-page .project-card .project-card-body .project-card-name-row{align-items:center;display:flex;gap:8px}.projects-page .project-card .project-card-body .project-card-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projects-page .project-card .project-card-body .type-badge{border:1px solid var(--color-border-light);color:var(--color-text-faint);flex-shrink:0;font-size:11px;padding:1px 5px;text-transform:uppercase}.projects-page .project-card .project-card-body .project-card-date{color:var(--color-text-faint);font-size:11px}.projects-page .project-card .project-card-body .project-rename-input{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);color:var(--color-text-primary);font-family:inherit;font-size:13px;outline:none;padding:2px 6px;width:100%}.projects-page .project-card .project-card-actions{display:flex;flex-shrink:0;gap:4px;opacity:0;transition:opacity .1s}.projects-page .project-card .project-card-actions .project-action-btn{position:static}.projects-page .project-card .project-card-actions .project-action-btn.edit-btn{border-color:var(--color-border-light);color:var(--color-text-faint)}.projects-page .project-card .project-card-actions .project-action-btn.edit-btn:hover{border-color:var(--color-border-strong);color:var(--color-text-secondary)}.projects-page .project-card:hover .project-card-actions{opacity:1}.projects-page .project-card .project-card-confirm{align-items:center;color:var(--color-text-secondary);display:flex;flex-shrink:0;font-size:11px;gap:6px}.projects-page .project-card .project-card-confirm button{background:none;border:1px solid var(--color-border-light);cursor:pointer;font-family:inherit;font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.projects-page .project-card .project-card-confirm button.danger{border-color:#d32f2f4d;color:var(--color-danger)}.projects-page .project-card .project-card-confirm button:hover{border-color:var(--color-border-strong)}.project-detail .project-detail__header{align-items:center;border-bottom:1px solid var(--color-border-strong);display:flex;gap:16px;margin-bottom:20px;padding-bottom:12px}.project-detail .project-detail__header h2{cursor:pointer;font-size:18px;font-weight:600;letter-spacing:1px;margin:0;text-transform:uppercase}.project-detail .project-detail__header h2:hover{color:var(--color-text-secondary)}.project-detail .project-detail__header .project-detail__name-input{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);color:var(--color-text-primary);font-size:13px;padding:7px 12px}.project-detail .project-detail__header .project-detail__name-input:focus{box-shadow:-3px 3px 0 var(--color-border-strong);outline:none}.project-detail .project-detail__header .project-detail__name-input{font-size:18px;font-weight:600;letter-spacing:1px;text-transform:uppercase;width:300px}.project-detail .filter-row .filter-row__actions{display:flex;gap:8px;margin-left:auto}.project-detail .picker-modal{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.project-detail .picker-modal .picker-backdrop{background-color:var(--color-overlay);cursor:pointer;inset:0;position:absolute}.project-detail .picker-modal .picker-content{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);display:flex;flex-direction:column;max-height:95vh;max-height:70vh;max-width:95vw;max-width:800px;position:relative;width:80vw;z-index:1001}.project-detail .picker-modal .picker-header{align-items:center;border-bottom:1px solid var(--color-border-strong);display:flex;justify-content:space-between;padding:12px 16px}.project-detail .picker-modal .picker-header h3{font-size:14px;font-weight:600;margin:0}.project-detail .picker-modal .picker-body{flex:1 1;overflow-y:auto;padding:16px}.project-detail .picker-modal .picker-body .item-card{cursor:pointer}.project-detail .picker-modal .picker-body .item-card:hover{background:var(--color-bg-tag)}.order-form{width:100%}.order-form *,.order-form :after,.order-form :before{box-sizing:border-box}.order-form input,.order-form select,.order-form textarea{background:var(--color-bg-hover);border:1px solid var(--color-border-light);color:var(--color-text-strong);font-family:inherit;font-size:12px;padding:7px 10px;transition:.12s ease}.order-form input:focus,.order-form select:focus,.order-form textarea:focus{background:var(--color-bg-primary);border-color:var(--color-text-strong);outline:none}.order-form input:disabled,.order-form select:disabled,.order-form textarea:disabled{background:var(--color-bg-panel);color:var(--color-text-secondary);cursor:default}.order-form textarea{min-height:32px;overflow:hidden;resize:none;width:100%}.order-form .of-section{border:1px solid var(--color-border-light);margin:0 0 18px;padding:16px 18px 8px}.order-form .of-section legend{color:var(--color-text-faint);font-size:10px;font-weight:600;letter-spacing:.5px;padding:0 6px;text-transform:uppercase}.order-form .of-field{display:flex;flex-direction:column;gap:4px;min-width:0}.order-form .of-field>span{color:var(--color-text-faint);font-size:10px;font-weight:500;letter-spacing:.4px;text-transform:uppercase}.order-form .of-field input,.order-form .of-field select,.order-form .of-field textarea{width:100%}.order-form .of-field--span2{grid-column:span 2}.order-form .of-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:14px}.order-form .of-row--3{grid-template-columns:1fr 1fr 1fr}.order-form .of-row--4{grid-template-columns:1fr 1fr 1fr 1fr}@media(max-width:600px){.order-form .of-row--3,.order-form .of-row--4{grid-template-columns:1fr 1fr}}.order-form .of-products{margin-bottom:18px}.order-form .of-products-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.order-form .of-products-title{color:var(--color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.order-form .of-item{border:1px solid var(--color-border-strong);margin-bottom:14px}.order-form .of-item-head{align-items:center;background:var(--color-bg-hover);border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;padding:8px 14px}.order-form .of-item-head .close-btn{font-size:12px;height:22px;width:22px}.order-form .of-item-num{color:var(--color-text-secondary);font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.order-form .of-item-num:before{content:"Product "}.order-form .of-item-body{padding:16px}.order-form .of-item-foot{border-top:1px solid var(--color-border-subtle);padding:8px 14px 12px}.order-form .of-sizes{border-collapse:collapse;margin-bottom:14px;width:100%}.order-form .of-sizes td,.order-form .of-sizes th{text-align:center}.order-form .of-sizes th{color:var(--color-text-faint);font-size:9px;font-weight:600;letter-spacing:.3px;padding-bottom:5px;text-transform:uppercase}.order-form .of-sizes input{appearance:textfield;-moz-appearance:textfield;background:var(--color-bg-hover);border-color:var(--color-border-subtle);font-family:monospace;font-size:12px;padding:7px 2px;text-align:center;width:100%}.order-form .of-sizes input::-webkit-inner-spin-button,.order-form .of-sizes input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.order-form .of-sizes input:focus{background:var(--color-bg-primary);border-color:var(--color-text-strong)}.order-form .of-sizes input:disabled{background:var(--color-bg-panel);border-color:var(--color-border-subtle)}.order-form .of-sizes .of-sizes-total-head,.order-form .of-sizes .of-sizes-total-val{color:var(--color-text-strong);font-weight:700}.order-form .of-sizes .of-sizes-total-val{font-family:monospace;font-size:14px}.order-form .of-confirm-inline{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:11px;gap:6px;margin-left:auto}.order-form .of-mockups{margin-top:14px}.order-form .of-mockups-label{color:var(--color-text-faint);display:block;font-size:10px;font-weight:500;letter-spacing:.4px;margin-bottom:6px;text-transform:uppercase}.order-form .of-mockups-row{display:flex;gap:10px}.order-form .of-mockup-slot{flex:1 1;max-width:200px}.order-form .of-mockup-slot.drag-over .of-mockup-preview,.order-form .of-mockup-slot.drag-over .of-mockup-upload{background:var(--color-bg-panel);border-color:var(--color-text-strong)}.order-form .of-mockup-side{color:var(--color-text-faint);display:block;font-size:9px;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-align:center;text-transform:uppercase}.order-form .of-mockup-preview{align-items:center;aspect-ratio:1;background:var(--color-bg-hover);border:1px solid var(--color-border-light);display:flex;justify-content:center;overflow:hidden;position:relative}.order-form .of-mockup-preview .of-mockup-img{max-height:100%;max-width:100%;object-fit:contain}.order-form .of-mockup-preview .of-mockup-delete{align-items:center;background:var(--color-bg-primary);border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:10px;height:18px;justify-content:center;line-height:1;opacity:0;padding:0;position:absolute;right:3px;top:3px;transition:opacity .12s;width:18px}.order-form .of-mockup-preview:hover .of-mockup-delete{opacity:1}.order-form .of-mockup-upload{aspect-ratio:1;background:#0000;border:1px dashed var(--color-border-light);color:var(--color-text-faint);cursor:pointer;font-family:inherit;font-size:20px;transition:.12s ease;width:100%}.order-form .of-mockup-upload:hover{border-color:var(--color-text-secondary);color:var(--color-text-secondary)}.order-form .of-mockup-upload:disabled{cursor:default;opacity:.5}.order-form .of-variants{border-top:1px solid var(--color-border-subtle);padding:16px 16px 6px}.order-form .of-variant{border:1px solid var(--color-border-light);margin-bottom:12px}.order-form .of-variant-head{align-items:center;background:var(--color-bg-panel);border-bottom:1px solid var(--color-border-subtle);display:flex;gap:12px;padding:8px 14px}.order-form .of-variant-head .close-btn{font-size:12px;height:22px;margin-left:auto;width:22px}.order-form .of-variant-badge{color:var(--color-text-secondary);flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.order-form .of-variant-color{align-items:center;display:flex;flex:1 1;gap:8px;max-width:260px}.order-form .of-variant-color .of-variant-color-label{color:var(--color-text-faint);flex-shrink:0;font-size:10px;font-weight:500;letter-spacing:.4px;text-transform:uppercase}.order-form .of-variant-color input{flex:1 1;width:100%}.order-form .of-variant-body{padding:16px}.order-form .of-grand-total{align-items:baseline;border-top:1px solid var(--color-border-strong);display:flex;gap:12px;padding-top:14px}.order-form .of-grand-total-label{color:var(--color-text-secondary);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.order-form .of-grand-total-value{color:var(--color-text-primary);font-family:monospace;font-size:20px;font-weight:700;letter-spacing:-.5px}.order-form .of-footer{border-top:1px solid var(--color-border-light);display:flex;gap:12px;margin-top:18px;padding-top:18px}.orders-page{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);margin-top:20px;max-width:1600px;padding:24px;width:95vw}.orders-page .orders-page-header{align-items:center;border-bottom:1px solid var(--color-border-strong);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.orders-page .orders-page-header h2{font-size:18px;font-weight:600;letter-spacing:1px;margin:0;text-transform:uppercase}.orders-page .orders-status-filters{display:flex;gap:0;margin-bottom:16px}.orders-page .orders-status-filters .filter-btn{background:#0000;border:1px solid var(--color-border-light);color:var(--color-text-secondary);cursor:pointer;font-family:inherit;font-size:11px;letter-spacing:.4px;margin-right:-1px;padding:6px 14px;text-transform:uppercase;transition:.12s ease}.orders-page .orders-status-filters .filter-btn:hover{background:var(--color-bg-hover)}.orders-page .orders-status-filters .filter-btn.active{background:var(--color-bg-inverse);border-color:var(--color-bg-inverse);color:var(--color-text-inverse);z-index:1}.orders-page .orders-empty,.orders-page .orders-loading{color:var(--color-text-faint);font-size:12px;letter-spacing:.5px;padding:60px 20px;text-align:center;text-transform:uppercase}.orders-page .orders-table-wrap{overflow-x:auto}.orders-page .orders-table{border-collapse:collapse;font-size:12px;width:100%}.orders-page .orders-table thead{background:var(--color-bg-panel);border-bottom:1px solid var(--color-border-medium)}.orders-page .orders-table thead th{color:var(--color-text-strong);font-size:11px;font-weight:600;letter-spacing:.3px;padding:8px 10px;text-align:left;text-transform:uppercase}.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-family:monospace;font-weight:600;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;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.4px;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.orders-page .orders-table .cell-actions{text-align:right;width:80px}.orders-page .orders-table .cell-actions>.close-btn{margin-left:auto}.orders-page .orders-table .cell-actions .close-btn{font-size:14px;height:24px;width:24px}.orders-page .orders-table .cell-actions .confirm-delete{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:11px;gap:6px}.users-panel{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);margin-top:20px;max-width:1600px;padding:24px;width:95vw}.users-panel .users-panel-header{align-items:center;border-bottom:1px solid var(--color-border-strong);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.users-panel .users-panel-header h2{font-size:18px;font-weight:600;letter-spacing:1px;margin:0;text-transform:uppercase}.users-panel .users-table{border-collapse:collapse;font-size:12px;width:100%}.users-panel .users-table thead{background:var(--color-bg-panel);border-bottom:1px solid var(--color-border-medium)}.users-panel .users-table thead th{color:var(--color-text-strong);font-size:11px;font-weight:600;letter-spacing:.3px;padding:8px 10px;text-align:left;text-transform:uppercase}.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{background:var(--color-bg-hover);border:1px solid var(--color-border-light);color:var(--color-text-strong);cursor:pointer;font-family:inherit;font-size:12px;padding:4px 8px;transition:.12s ease}.users-panel .users-table select:focus{border-color:var(--color-text-strong);outline:none}.users-panel .users-table .delete-btn{background:none;border:none;color:var(--color-text-faint);cursor:pointer;font-family:inherit;font-size:11px;letter-spacing:.3px;padding:4px 8px;text-transform:uppercase}.users-panel .users-table .delete-btn:hover{color:var(--color-danger)}.users-panel .users-table .confirm-delete{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:11px;gap:6px}.users-panel .users-table .confirm-delete button{background:none;border:1px solid var(--color-border-light);cursor:pointer;font-family:inherit;font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.users-panel .users-table .confirm-delete button.danger{border-color:#d32f2f4d;color:var(--color-danger)}.users-panel .users-table .confirm-delete button:hover{border-color:var(--color-border-strong)}.btn{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);color:var(--color-text-primary);cursor:pointer;font-size:13px;font-weight:500;letter-spacing:.6px;padding:9px 16px;text-transform:uppercase;transition:.18s ease}.btn:hover{background:var(--color-bg-hover)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn--filled{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.btn--filled:hover{background:var(--color-text-strong)}.btn--active{background:var(--color-bg-inverse);color:var(--color-text-inverse)}.btn--sm{font-size:11px;padding:6px 12px}.btn--warn{border-color:var(--color-warning);color:var(--color-warning)}.btn--warn:hover{background:var(--color-warning-bg)}.icon-btn{align-items:center;background:var(--color-bg-primary);border-radius:0;cursor:pointer;display:inline-flex;height:24px;justify-content:center;opacity:.3;padding:4px;transition:.15s ease;width:24px}.icon-btn .icon{height:14px;width:14px}.icon-btn:hover{opacity:1}.icon-btn--danger{border:1px solid var(--color-danger)}.icon-btn--confirm{border:1px solid var(--color-success)}.close-btn{align-items:center;appearance:none;background:none;border:1px solid var(--color-danger);color:var(--color-danger);cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;opacity:.4;padding:4px;transition:.15s ease;width:28px}.close-btn .icon{height:14px;width:14px}.close-btn:hover{opacity:1}.text-btn{background:var(--color-bg-panel);border:1px solid var(--color-border-medium);color:var(--color-text-body);cursor:pointer;font-size:10px;padding:2px 8px;transition:.15s ease}.text-btn:hover{background:var(--color-border-subtle)}.text-btn--danger{background:var(--color-bg-primary);border-color:#d32f2f40;color:var(--color-danger)}.text-btn--danger:hover{background:var(--color-danger-bg-hover)}.App{align-items:center;color:var(--color-text-primary);flex-direction:column;font-family:Arial,sans-serif;justify-content:flex-start;margin:0;min-height:100vh;padding:0;width:100vw}.App,.App .app-nav{background:var(--color-bg-page);display:flex}.App .app-nav{flex-shrink:0;gap:0;width:100%}.App .app-nav .nav-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--color-text-secondary);cursor:pointer;font-size:12px;letter-spacing:1px;padding:12px 24px;text-transform:uppercase;transition:.15s ease}.App .app-nav .nav-btn.active,.App .app-nav .nav-btn:hover{color:var(--color-text-primary)}.App .app-nav .nav-btn.active{border-bottom-color:var(--color-text-primary)}.App .app-nav .nav-btn.nav-editing{border-bottom:2px dashed var(--color-text-faint);cursor:grab}.App .app-nav .nav-btn.nav-editing:active{cursor:grabbing}.App .app-nav .nav-btn.nav-dragging{opacity:.3}.App .app-nav .nav-drag-handle{font-size:10px;margin-right:4px;opacity:.4}.App .app-nav .nav-spacer{flex:1 1}.App .app-nav .nav-icon{align-items:center;display:flex;justify-content:center;padding:10px 14px}.App .app-nav .nav-icon svg{display:block}.App .app-nav .nav-auth{color:var(--color-text-faint);font-size:11px;letter-spacing:.4px}.App .studio-tabs{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-light);display:flex;gap:0;padding:0 20px;width:100%}.App .studio-tabs .studio-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--color-text-secondary);cursor:pointer;font-size:11px;letter-spacing:.8px;padding:10px 20px;text-transform:uppercase;transition:.15s ease}.App .studio-tabs .studio-tab:hover{color:var(--color-text-primary)}.App .studio-tabs .studio-tab.active{border-bottom-color:var(--color-text-primary);color:var(--color-text-primary)}.App h2{font-size:20px;letter-spacing:.2px;margin:0 0 18px}.App .home-page{align-items:center;display:flex;flex-direction:column;gap:40px;margin-top:60px;max-width:900px;width:95vw}.App .home-page .home-page__welcome{text-align:center}.App .home-page .home-page__welcome h1{font-size:36px;font-weight:700;letter-spacing:6px;margin:0 0 10px;text-transform:uppercase}.App .home-page .home-page__welcome .home-page__subtitle{color:var(--color-text-secondary);font-size:13px;letter-spacing:1.5px;margin:0;text-transform:uppercase}.App .home-page .home-page__tools{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));width:100%}.App .home-page .home-card{align-items:flex-start;background:var(--color-bg-primary);border:1px solid var(--color-border-medium);cursor:pointer;display:flex;gap:14px;padding:18px;text-align:left;transition:.15s ease}.App .home-page .home-card:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.App .home-page .home-card .home-card__icon{align-items:center;background:var(--color-bg-panel);border:1px solid var(--color-border-light);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.App .home-page .home-card .home-card__icon svg{color:var(--color-text-body);height:20px;width:20px}.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;letter-spacing:.8px;text-transform:uppercase}.App .home-page .home-card .home-card__desc{color:var(--color-text-secondary);font-size:11px;line-height:1.4}.App .home-page .home-section{width:100%}.App .home-page .home-section .home-section__title{border-bottom:1px solid var(--color-border-light);color:var(--color-text-muted);font-size:11px;font-weight:600;letter-spacing:1.5px;margin:0 0 12px;padding-bottom:8px;text-transform:uppercase}.App .home-page .home-dropzone{align-items:center;background:var(--color-bg-panel);border:2px dashed var(--color-border-medium);color:var(--color-text-secondary);cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:28px;transition:.15s ease;width:100%}.App .home-page .home-dropzone svg{color:var(--color-text-faint)}.App .home-page .home-dropzone span{font-size:12px;letter-spacing:.8px;text-transform:uppercase}.App .home-page .home-dropzone:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong);color:var(--color-text-primary)}.App .home-page .home-dropzone:hover svg{color:var(--color-text-body)}.App .home-page .home-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.App .home-page .home-stats .home-stat{align-items:center;background:var(--color-bg-primary);border:1px solid var(--color-border-light);cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:16px 12px;transition:.15s ease}.App .home-page .home-stats .home-stat:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.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{color:var(--color-text-muted);font-size:10px;letter-spacing:1px;text-transform:uppercase}.App .home-page .home-recent{display:flex;flex-direction:column}.App .home-page .home-recent .home-recent__item{align-items:baseline;background:none;border:none;border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:12px;gap:12px;padding:10px 12px;text-align:left;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 1;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.App .home-page .home-recent .home-recent__item .home-recent__type{color:var(--color-text-muted);flex-shrink:0;font-size:10px;letter-spacing:.5px;text-align:right;text-transform:uppercase;width:70px}.App .home-page .home-recent .home-recent__item .home-recent__date{color:var(--color-text-faint);flex-shrink:0;font-size:10px;text-align:right;white-space:nowrap;width:70px}.App .home-page .home-links{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.App .home-page .home-links .home-link{background:var(--color-bg-primary);border:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:2px;padding:14px 16px;text-decoration:none;transition:.15s ease}.App .home-page .home-links .home-link:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.App .home-page .home-links .home-link .home-link__title{color:var(--color-text-primary);font-size:13px;font-weight:500}.App .home-page .home-links .home-link .home-link__desc{color:var(--color-text-muted);font-size:10px}.App .home-page .home-page__cta .btn--filled{font-size:14px;letter-spacing:1px;padding:12px 28px}.App .container{grid-gap:0;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);display:grid;gap:0;grid-template-columns:1fr 1fr;height:calc(85vh - 50px);margin-top:20px;max-height:650px;max-width:1600px;overflow:hidden;width:95vw}@media(max-width:900px){.App .container{gap:0;grid-template-columns:1fr}}.App .container .left-column{background:var(--color-bg-panel);display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:20px;transition:background .15s ease}.App .container .left-column.drag-over{background:var(--color-info-bg)}.App .container .left-column.drag-over .drop-zone,.App .container .left-column.drag-over .image-wrapper{border-color:var(--color-accent);border-style:dashed}.App .container .left-column .drop-zone{align-items:center;border:2px dashed var(--color-text-faint);color:var(--color-text-faint);display:flex;flex:1 1;font-size:14px;justify-content:center;letter-spacing:.5px;pointer-events:none;text-transform:uppercase;transition:border-color .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.App .container .left-column.drag-over .drop-zone{color:var(--color-accent)}.App .container .left-column .button-row{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px;justify-content:space-between}.App .container .left-column .image-wrapper{align-items:center;background:var(--color-bg-primary);border:1px solid var(--color-border-strong);display:flex;flex:1 1;justify-content:center;overflow:auto;position:relative}.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{background-color:#fff;background-image:linear-gradient(45deg,#0000000d 25%,#0000 0),linear-gradient(-45deg,#0000000d 25%,#0000 0),linear-gradient(45deg,#0000 75%,#0000000d 0),linear-gradient(-45deg,#0000 75%,#0000000d 0);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;inset:0;pointer-events:none;position:absolute}.App .container .left-column .image-wrapper img{background-color:#0000;display:block;height:100%;object-fit:contain;position:relative;width:100%}.App .container .left-column .image-wrapper.eyedropper-active img{cursor:crosshair}.App .container .left-column .image-wrapper .eyedropper-preview{align-items:flex-start;border:2px solid #fff;box-shadow:0 0 0 1px #0000004d,0 2px 8px #0000004d;display:flex;height:32px;justify-content:flex-start;pointer-events:none;position:absolute;width:32px;z-index:3}.App .container .left-column .image-wrapper .eyedropper-preview span{background:#000000bf;color:#fff;font-family:monospace;font-size:10px;left:0;letter-spacing:.3px;margin-top:4px;padding:2px 5px;position:absolute;top:100%;white-space:nowrap}.App .container .left-column .image-wrapper .spinner-overlay{align-items:center;background:#ffffffb3;display:flex;inset:0;justify-content:center;position:absolute;z-index:2}.App .container .left-column .bg-switcher{bottom:10px;display:flex;gap:6px;position:absolute;right:10px;z-index:3}.App .container .left-column .bg-switcher .bg-swatch{border:2px solid var(--color-text-disabled);box-shadow:0 1px 4px #0003;cursor:pointer;height:28px;padding:0;transition:.15s ease;width:28px}.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,#00000026 25%,#0000 0),linear-gradient(-45deg,#00000026 25%,#0000 0),linear-gradient(45deg,#0000 75%,#00000026 0),linear-gradient(-45deg,#0000 75%,#00000026 0);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px}.App .container .left-column .drop-zone.processing{border-color:var(--color-text-secondary);color:var(--color-text-secondary)}.App .container .right-column{background:var(--color-bg-primary);border-left:1px solid var(--color-border-light);display:flex;flex-direction:column;flex-shrink:0;gap:14px;overflow-y:auto;padding:20px}@media(max-width:900px){.App .container .right-column{border-left:none;border-top:1px solid var(--color-border-light)}}.App .coming-soon{background:var(--color-bg-primary);border:1px solid var(--color-border-strong);color:var(--color-text-faint);font-size:14px;letter-spacing:1px;margin-top:20px;max-width:1600px;padding:60px 20px;text-align:center;width:95vw}.spinner{animation:spin .6s linear infinite;border:2.5px solid var(--color-border-medium);border-radius:50%;border-top-color:var(--color-text-primary);height:24px;width:24px}@keyframes spin{to{transform:rotate(1turn)}}.embed-studio{background:var(--color-bg-page);display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100vw}.embed-studio .container{grid-gap:0;background:var(--color-bg-primary);border:none;display:grid;gap:0;grid-template-columns:1fr 1fr;height:100vh;margin:0;max-height:none;max-width:none;overflow:hidden;width:100%}@media(max-width:900px){.embed-studio .container{grid-template-columns:1fr;overflow-y:auto}}.embed-studio .left-column{background:var(--color-bg-panel);display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:20px}@media(max-width:900px){.embed-studio .left-column{max-height:40vh;min-height:0}}.embed-studio .right-column{background:var(--color-bg-primary);border-left:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:0;overflow-y:auto;padding:20px}@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{font-size:11px;padding:6px 8px}.embed-studio .right-column .data-table td{padding:6px 8px}.embed-studio .right-column .sort-toolbar{gap:6px;padding:6px 0}.embed-studio .button-row{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px;justify-content:space-between}.embed-studio .button-row .btn--filled{background:#fff;border-color:var(--color-border-strong);color:#000}.embed-studio .button-row .btn--filled:hover{background:#f0f0f0}.embed-studio .image-wrapper{border:none;flex:1 1;min-height:0;overflow:hidden;position:relative}.embed-studio .image-wrapper .checkerboard{background-color:#fff;background-image:linear-gradient(45deg,#0000000d 25%,#0000 0),linear-gradient(-45deg,#0000000d 25%,#0000 0),linear-gradient(45deg,#0000 75%,#0000000d 0),linear-gradient(-45deg,#0000 75%,#0000000d 0);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;inset:0;pointer-events:none;position:absolute}.embed-studio .image-wrapper img{display:block;height:auto;margin:auto;max-height:100%;max-width:100%;object-fit:contain;position:relative;width:auto}.embed-studio .image-wrapper.eyedropper-active img{cursor:crosshair}.embed-studio .image-wrapper .eyedropper-preview{align-items:flex-start;border:2px solid #fff;box-shadow:0 0 0 1px #0000004d,0 2px 8px #0000004d;display:flex;height:32px;justify-content:flex-start;pointer-events:none;position:absolute;width:32px;z-index:3}.embed-studio .image-wrapper .eyedropper-preview span{background:#000000bf;color:#fff;font-family:monospace;font-size:10px;left:0;letter-spacing:.3px;margin-top:4px;padding:2px 5px;position:absolute;top:100%;white-space:nowrap}.embed-studio .image-wrapper .spinner-overlay{align-items:center;background:#ffffffb3;display:flex;inset:0;justify-content:center;position:absolute;z-index:2}.embed-studio .drop-zone{flex:1 1;min-height:100px}.embed-studio .bg-switcher{bottom:6px;gap:3px;right:6px}.embed-mockup{background:var(--color-bg-page);height:100vh;width:100vw}.embed-mockup,.embed-mockup .drop-zone{align-items:center;display:flex;justify-content:center}.embed-mockup .drop-zone{color:var(--color-text-faint);font-size:14px;height:100%;letter-spacing:.5px;text-transform:uppercase;width:100%}.embed-mockup .mockup-modal{inset:0;position:fixed}.embed-mockup .mockup-backdrop{display:none}.embed-mockup .mockup-content{border:none;height:100%;max-height:none;max-width:none;width:100%}
/*# sourceMappingURL=main.7fdb8280.css.map*/