:root{--ground: #e8eef3;--surface: #ffffff;--raised: #f4f6f8;--active: #ebedee;--border: #e8eaec;--rule: #f0f1f2;--control: #cdced1;--text: #131416;--muted: #5d5f60;--accent: #1a5f8a;--positive: #1e7b4f;--negative: #c4242a;--warning: #92400e;--pill-positive-bg: #dcfae5;--pill-positive-ink: #04250e;--pill-negative-bg: #ffedea;--pill-negative-ink: #831c1e;--pill-neutral-bg: #ebedee;--pill-neutral-ink: #353736;--radius-card: 8px;--radius-control: 6px;--radius-sheet: 16px;--sheet-inset: 8px;--row-height: 72px;--sidebar-width: 228px;--gap: 24px;--pad: 24px;--control-height: 36px;--fs-title: 22px;--fs-section: 16px;--fs-body: 14px;--fs-small: 12px;--focus: 0 0 0 3px color-mix(in srgb, var(--accent) 28%, white);font-family:IBM Plex Sans,system-ui,sans-serif;color:var(--text);background:var(--ground);font-size:var(--fs-body);line-height:1.45}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--control) 88%,var(--muted)) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--control) 88%,var(--muted));border:2px solid transparent;border-radius:999px;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--muted);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}html,body,#root{min-height:100%;max-width:100%}body{margin:0}::selection{background:color-mix(in srgb,var(--accent) 22%,white)}:focus-visible{outline:none;box-shadow:var(--focus)}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit}.mono{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.nums{font-variant-numeric:tabular-nums}.frame{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:48px 1fr;background:var(--ground)}.sidebar{grid-row:1 / span 2;padding:16px 12px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:4px 8px;text-decoration:none;color:inherit}.brand-logo{display:block;height:10px;width:auto}.topbar-logo{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-decoration:none;color:inherit}.topbar-logo .brand-logo{height:10px}.brand-scope.admin-label{display:block;color:#1f1b20;font-size:9px;font-weight:500;letter-spacing:.22em;line-height:1;text-transform:lowercase}.sidebar nav{display:grid;gap:4px}.sidebar a{color:var(--muted);text-decoration:none;padding:8px 10px;border-radius:8px}.sidebar a.active{background:var(--active);color:var(--text);font-weight:600}.topbar{display:flex;align-items:center;justify-content:flex-end;padding:0 16px 0 0;gap:12px;color:var(--muted);font-size:var(--fs-small)}.topbar-leading{display:none;align-items:center;gap:4px;margin-right:auto}.menu-button{display:none;width:44px;height:44px;padding:0;align-items:center;justify-content:center;background:transparent;border:0;color:var(--text);cursor:pointer;border-radius:8px}.menu-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.sidebar-backdrop{display:none}.sheet{margin:0 var(--sheet-inset) var(--sheet-inset) 0;background:var(--surface);border:1px solid #ededed;border-radius:var(--radius-sheet);min-height:calc(100vh - 48px - var(--sheet-inset));padding:var(--pad)}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--ground)}.auth-sheet{width:min(420px,100%);background:var(--surface);border:1px solid #ededed;border-radius:var(--radius-sheet);padding:32px}.title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.title-row h1{margin:0;font-size:var(--fs-title);font-weight:600}.title-row p{margin:4px 0 0;color:var(--muted);font-size:var(--fs-small)}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}.toolbar-filter{position:relative}.filter-trigger{position:relative;width:var(--control-height);height:var(--control-height);padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-control);background:#fff;color:var(--muted);cursor:pointer}.filter-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.filter-trigger.is-filtered,.filter-trigger[aria-expanded=true]{color:var(--text);border-color:var(--control)}.filter-trigger.is-filtered:after{content:"";position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.filter-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:236px;padding:10px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 40px color-mix(in srgb,var(--text) 12%,transparent)}.filter-menu-section{display:grid;gap:2px}.filter-menu-section+.filter-menu-section{margin-top:10px;padding-top:10px;border-top:1px solid var(--rule)}.filter-menu-section>span{padding:4px 8px 6px;color:var(--muted);font-size:var(--fs-small)}.filter-menu button.option{display:flex;align-items:center;justify-content:space-between;width:100%;height:32px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.filter-menu button.option.active{background:var(--active);font-weight:600}.filter-menu .count{color:var(--muted);font-size:var(--fs-small);font-variant-numeric:tabular-nums;font-weight:400}.filter-reset{width:100%;margin-top:10px;height:32px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.search{width:min(316px,100%);height:var(--control-height);padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-control);background:#fff}.toolbar-meta{margin-left:auto;color:var(--muted);font-size:var(--fs-small)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:13px;font-weight:400;color:var(--muted);padding:0 8px 8px}td{padding:12px 8px;border-top:1px solid var(--rule);vertical-align:middle}td.num,th.num{text-align:right}.product-list-row{cursor:pointer}table tbody .product-list-row:hover,.mobile-row.product-list-row:hover{background:color-mix(in srgb,var(--raised) 80%,white)}.identity{display:flex;gap:12px;align-items:center;min-width:0}.thumb{width:48px;height:48px;object-fit:contain;background:var(--raised);border-radius:6px;flex:none}.thumb-empty{width:48px;height:48px;border-radius:6px;background:var(--raised);color:var(--muted);display:grid;place-items:center;font-size:11px;flex:none}.identity a,.product-link{display:grid;gap:2px;color:inherit;font-weight:500}.identity a:hover,.product-link:hover{color:var(--accent)}.identity small,.product-link small{display:block;color:var(--muted);font-size:var(--fs-small);font-weight:400}.price-field{width:88px;height:32px;text-align:right;padding:0 8px;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;font-variant-numeric:tabular-nums}.price-field:hover,.price-field:focus{border-color:var(--border);background:#fff}.pill{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;font-size:var(--fs-small);border:0;cursor:pointer}.pill.on{background:var(--pill-positive-bg);color:var(--pill-positive-ink)}.pill.off{background:var(--pill-negative-bg);color:var(--pill-negative-ink)}.flag-row{display:flex;align-items:center;gap:8px;color:var(--text);font-size:14px;font-weight:500;cursor:pointer}.flag-row input[type=checkbox]{width:16px;height:16px;padding:0;margin:0;accent-color:var(--accent);cursor:pointer}.pill.neutral{background:var(--pill-neutral-bg);color:var(--pill-neutral-ink)}.stock-toggle{display:flex;align-items:center;gap:8px;width:100%;height:40px;padding:0 12px;font-size:14px;font-weight:500}.stock-toggle input[type=checkbox]{width:16px;height:16px;margin:0;padding:0;flex:none;accent-color:var(--positive);cursor:pointer}.stock-toggle.off input[type=checkbox]{accent-color:var(--negative)}button.primary,button[type=submit]{height:36px;padding:0 14px;border:0;border-radius:var(--radius-control);background:var(--text);color:#fff;cursor:pointer}button.secondary,button.ghost,button.linkish{height:36px;padding:0 12px;border-radius:var(--radius-control);cursor:pointer}button.secondary{background:#fff;border:1px solid var(--border);color:var(--text)}button.ghost{background:transparent;border:0;color:var(--muted)}button.danger{background:var(--negative);color:#fff;border:0;height:36px;padding:0 12px;border-radius:var(--radius-control);cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.stack{display:grid;gap:12px;min-width:0;max-width:100%}.field,label.field{display:grid;gap:8px;min-width:0;max-width:100%;font-size:14px;font-weight:500}.marketplace-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.marketplace-heading .flag-row{font-weight:400;color:var(--muted)}.multiselect{position:relative;min-width:0;max-width:100%}.multiselect-control{display:flex;flex-wrap:wrap;gap:6px;min-width:0;max-width:100%;min-height:40px;padding:6px;border:1px solid #e8e8e8;border-radius:10px;background:#fff}.multiselect-control input{flex:1 1 140px;min-width:120px;height:28px;padding:0 8px;border:0;border-radius:8px;box-shadow:none}.multiselect-chip{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;height:28px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:var(--raised);color:var(--text);font-size:12px;font-weight:500;cursor:pointer}.multiselect-chip span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiselect-menu{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow:auto;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:0 12px 28px #1c16121f}.multiselect-option{display:block;width:100%;padding:8px 12px;border:0;border-radius:0;background:transparent;color:var(--text);font-weight:400;text-align:left;cursor:pointer}.multiselect-option:hover,.multiselect-option:focus{background:var(--active)}.icon-picker-trigger{display:inline-flex;align-items:center;gap:10px;width:fit-content;height:40px;padding:0 12px 0 6px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);cursor:pointer}.icon-picker-trigger .icon-choice{width:28px;height:28px;font-size:16px}.icon-picker-dialog{width:min(560px,100%)}.icon-picker-dialog .icon-picker-grid{max-height:360px}input,select,textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:40px;padding:0 12px;border:1px solid #e8e8e8;border-radius:10px;background:#fff}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.2 8 10.2 12 6.2' stroke='%23131416' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}textarea{height:auto;min-height:110px;padding:10px 12px;resize:vertical}.select-with-action{display:flex;gap:8px;align-items:stretch}.select-with-action select{flex:1 1 auto;width:auto;min-width:0}.catalog-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;border:1px solid var(--border);border-radius:8px;background:var(--raised);padding:4px 8px 4px 10px;font-size:13px}.catalog-chip button{width:auto;height:auto;padding:0;border:0;background:transparent;color:var(--negative);font-size:16px;line-height:1;cursor:pointer}button.delete-cross{width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--negative);font-size:24px;line-height:1;cursor:pointer;flex:0 0 40px}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:16px;background:#1c161275}.confirm-dialog{width:min(440px,100%);display:grid;gap:12px;padding:20px;border-radius:16px;background:#fff;box-shadow:0 18px 48px #1c16122e}.confirm-dialog h2{margin:0;font-size:18px;line-height:1.3}.confirm-dialog-body{display:grid;gap:8px;font-weight:400;color:var(--muted)}.confirm-dialog-body p{margin:0}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.problem-assignment-list{display:grid;gap:10px}.problem-assignment-group{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--raised)}.problem-assignment-group-title{font-size:13px;font-weight:600}.problem-group-title{margin:8px 0 0;font-size:16px}.problem-group-editor{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--raised)}.problem-group-editor .select-with-action{align-items:end}.problem-editor-card{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--raised)}.color-preset-row{display:flex;flex-wrap:wrap;gap:8px}.color-choice{width:28px;height:28px;padding:0;border:2px solid transparent;border-radius:999px;cursor:pointer}.color-choice.is-selected{box-shadow:var(--focus);border-color:var(--accent)}.color-choice-custom{position:relative;flex:0 0 28px;overflow:hidden;background:transparent}.color-choice-wheel{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;background-image:conic-gradient(from 0deg,#c62f2f,#c67a2f,#c6c62f,#7ac62f,#2fc62f,#2fc67a,#2fc6c6,#2f7ac6,#2f2fc6,#7a2fc6,#c62fc6,#c62f7a,#c62f2f);background-image:conic-gradient(from 0deg in hsl longer hue,#c62f2f 0,#c62f2f);background-repeat:no-repeat;background-size:100% 100%}.color-choice-native{position:absolute;width:0;height:0;margin:0;padding:0;border:0;opacity:0;overflow:hidden;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none}.creatable-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.icon-picker{display:grid;gap:8px}.icon-picker-grid{display:flex;flex-wrap:wrap;gap:6px;max-height:320px;overflow:auto;padding:2px}.icon-choice{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;overflow:visible;border:1px solid var(--border);border-radius:10px;background:#fff;font-size:20px;line-height:1.2;cursor:pointer}.icon-choice.is-selected{border-color:var(--accent);box-shadow:var(--focus)}.creatable-row input{flex:1 1 180px}.hint{color:var(--muted);font-size:var(--fs-small);font-weight:400}.ingredient-preview{margin:0;padding-left:18px;color:var(--muted);font-size:var(--fs-small);line-height:1.55}.error{color:var(--negative);margin:0}.banner{padding:12px 14px;border-radius:10px;background:var(--raised)}.banner.secret{display:flex;justify-content:space-between;gap:12px;align-items:center}.banner.ok{background:var(--pill-positive-bg);color:var(--pill-positive-ink)}.banner.bad{background:var(--pill-negative-bg);color:var(--pill-negative-ink)}.editor{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:32px;align-items:start;min-width:0;max-width:100%}.editor>*{min-width:0;max-width:100%}.parcel-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-panel{position:sticky;top:16px;display:grid;gap:12px;min-width:0;width:100%}.photo-frame{position:relative;width:100%;max-width:100%;min-width:0;aspect-ratio:1;background:var(--raised);border-radius:12px;display:grid;place-items:center;overflow:hidden}.photo-frame img{width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain}.photo-frame.is-drop{outline:2px solid var(--accent);outline-offset:-2px}.photo-frame.is-busy{opacity:.65;pointer-events:none}.photo-choose{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;cursor:pointer}.photo-frame.has-photo .photo-choose{place-items:end center;padding:12px}.photo-choose span{height:var(--control-height);padding:0 14px;display:inline-flex;align-items:center;border-radius:var(--radius-control);background:#fff;border:1px solid var(--border);color:var(--text)}.photo-frame.has-photo .photo-choose span{opacity:0}.photo-frame.has-photo:hover .photo-choose span,.photo-frame.has-photo:focus-within .photo-choose span{opacity:1}.hero-photo-frame{max-width:420px;aspect-ratio:4 / 3}.hero-photo-frame img{object-fit:cover;object-position:center 70%}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.section{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:24px;padding:24px 0;border-top:1px solid var(--border);min-width:0}.section>*{min-width:0}.section h2{margin:0;font-size:var(--fs-section);font-weight:500}.home-form{max-width:min(1120px,100%);min-width:0}.field-row{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.field-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{display:grid;gap:12px;min-width:0}.stats-editor{display:grid;width:100%;min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:stretch;gap:12px}.stats-editor .stat-card{min-width:0;overflow:hidden;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--raised)}.stat-card .marketplace-heading{min-width:0}.stat-card .marketplace-heading>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.advantage-color-preview{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px}.advantage-color-preview-emoji{font-size:18px;line-height:1}.tag-chip-row,.tag-dictionary{display:flex;flex-wrap:wrap;gap:8px}.tag-chip{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:4px 8px 4px 10px;color:#fff;font-size:13px;line-height:1.2}.tag-chip button{width:auto;height:auto;padding:0;border:0;background:transparent;color:inherit;font-size:16px;line-height:1;cursor:pointer}.select-with-delete{position:relative;min-width:0;max-width:100%}.select-with-delete-trigger{width:100%;height:40px;padding:0 36px 0 12px;border:1px solid #e8e8e8;border-radius:10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6.2 8 10.2 12 6.2' stroke='%23131416' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;background-size:16px;color:var(--text);font-weight:400;text-align:left;cursor:pointer}.select-with-delete-menu{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow:auto;padding:4px 0;border:1px solid #d0d0d0;border-radius:8px;background:#fff;box-shadow:0 8px 24px #00000029}.select-with-delete-group{padding:6px 12px 2px;color:var(--muted);font-size:12px}.select-with-delete-row{display:flex;align-items:stretch;min-width:0}.select-with-delete-choice,.select-with-delete-create,.select-with-delete-delete{height:32px;border:0;background:transparent;color:var(--text);font-weight:400;cursor:pointer}.select-with-delete-choice,.select-with-delete-create{flex:1;min-width:0;padding:0 12px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.select-with-delete-create{width:100%}.select-with-delete-delete{flex:0 0 36px;width:36px;padding:0;color:var(--negative);font-size:18px;line-height:1}.select-with-delete-row:hover .select-with-delete-choice,.select-with-delete-row:hover .select-with-delete-delete,.select-with-delete-create:hover{background:#0b5fff;color:#fff}.tag-dictionary{flex-direction:column;align-items:stretch}.tag-dictionary-row{display:flex;align-items:center;gap:8px}.tag-dictionary-row span:nth-child(2){flex:1}.tag-dictionary-swatch{width:16px;height:16px;border-radius:4px;flex:0 0 16px}.icon-select-row{display:flex;flex-wrap:wrap;gap:6px}.icon-select{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);cursor:pointer}.icon-select.is-selected{border-color:var(--accent);color:var(--accent);box-shadow:var(--focus)}.stat-add{min-width:0;min-height:148px;padding:0;border:1px dashed var(--control);border-radius:12px;background:var(--raised);color:var(--muted);font-size:40px;line-height:1;cursor:pointer}.stat-add:hover{border-color:var(--accent);color:var(--accent);background:#fff}@media(max-width:1400px){.section{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.field-row,.field-row.three{grid-template-columns:1fr}}.save-bar{position:sticky;bottom:12px;z-index:40;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;max-width:100%;margin-top:24px;padding:12px 16px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:none}.save-bar.is-raised{box-shadow:0 -8px 28px #13141624}.save-bar .hint{margin-right:auto}.actions{display:flex;flex-wrap:wrap;gap:8px}.manager-edit-fields{display:grid;gap:8px;min-width:220px}.manager-edit-fields .field{margin:0}.mobile-row{display:none}@media(max-width:1100px){.frame{display:block;max-width:100%;overflow-x:clip}.sidebar{display:none}.sidebar.open{display:flex;position:fixed;inset:0 auto 0 0;width:min(80vw,260px);background:var(--ground);z-index:30}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:#13141647;z-index:25;cursor:pointer}.topbar{padding:0 12px}.topbar-leading{display:flex}.menu-button{display:inline-flex}.sheet{margin:0;border:0;border-radius:0;min-height:calc(100vh - 48px);min-width:0;max-width:100%;overflow-x:clip;padding:16px}.editor,.section{grid-template-columns:minmax(0,1fr)}.photo-panel{position:static;max-width:min(100%,360px);justify-self:center}.desktop-table{display:none!important}.mobile-row{display:grid;grid-template-columns:48px 1fr auto;gap:12px;padding:12px 0;border-top:1px solid var(--rule)}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
