:root{--color-surface:#fff;--color-text:#171717;--color-text-muted:#737373;--color-border:#dad8d4;--color-border-strong:#dad8d4;--color-danger:#b5473b;--color-success:#171717;--color-stage-sky:#fff;--color-stage-ground:#d9d6cf}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{background:var(--color-surface);color:var(--color-text);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit}.page{max-width:960px;margin:0 auto;padding:32px 16px}.product-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.product-card{border:1px solid var(--color-border);border-radius:4px;padding:24px 16px;text-decoration:none;transition:border-color .15s;display:block}.product-card:hover{border-color:var(--color-text)}.product-card__collection{color:var(--color-text-muted);margin-top:4px;font-size:12px;display:block}.viewer-toolbar{background:#fff;border-radius:4px;flex-direction:column;gap:8px;padding:4px;display:flex}.viewer-toolbar__tool{border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-text);cursor:pointer;background:#fff;border-radius:2px;justify-content:center;align-items:center;padding:0;transition:border-color .15s,background-color .15s,color .15s;display:flex}.viewer-toolbar__tool:hover:enabled{border-color:var(--color-text-muted)}.viewer-toolbar__tool:disabled{cursor:default;opacity:.4}.viewer-toolbar__tool[aria-pressed=true]{border-color:var(--color-text);background:var(--color-text);color:#fff}.viewer-toolbar__separator{background:var(--color-border);align-self:stretch;height:1px}.product-bar{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;align-items:stretch;gap:0 24px;min-height:64px;padding:0 32px;display:flex}.product-bar__title,.product-bar__actions{flex:1 1 0;align-items:center;min-width:max-content;display:flex}.product-bar__title{gap:8px}.product-bar__actions{justify-content:flex-end}.product-bar__back{color:var(--color-text);display:flex}.product-bar__name{margin:0;font-size:14px;font-weight:500}.product-bar__tabs{scrollbar-width:none;gap:clamp(8px,1vw,16px);display:flex;overflow-x:auto}.product-bar__tab{color:var(--color-text-muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;padding:0 16px;font-size:14px;display:flex}.product-bar__tab:hover{color:var(--color-text)}.product-bar__tab[aria-current=page]{border-bottom-color:var(--color-text);color:var(--color-text);font-weight:500}.product-bar__share{color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px 0;font-size:14px;font-weight:500;display:flex}.configurator{background:var(--color-surface);flex-direction:column;display:flex}.configurator__options{flex-direction:column;flex:auto;gap:24px;min-height:0;padding:24px;display:flex;overflow-y:auto}.configurator__message{color:var(--color-text-muted);margin:0;font-size:14px}.config-section{flex-direction:column;gap:16px;display:flex}.config-section__header{flex-direction:column;gap:2px;display:flex}.config-section__title{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:12px;font-weight:500}.config-section__subtitle{color:var(--color-text-muted);margin:0;font-size:12px}.swatches{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 0;display:grid}.swatch{min-width:0;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:0;display:flex}.swatch__preview{aspect-ratio:1;outline-offset:2px;border-radius:50%;outline:2px solid #0000;width:72%;transition:outline-color .15s;box-shadow:inset 0 0 0 1px #0000000f}.swatch__label{-webkit-line-clamp:2;line-clamp:2;text-align:center;-webkit-box-orient:vertical;height:2lh;font-size:12px;line-height:1.33;display:-webkit-box;overflow:hidden}.swatch:hover .swatch__preview{outline-color:var(--color-border-strong)}.swatch[aria-checked=true] .swatch__preview{outline-color:var(--color-text)}.choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.choice{border:1px solid var(--color-border);height:40px;color:var(--color-text);font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border-radius:2px;padding:0 8px;font-size:14px;transition:border-color .15s,background-color .15s}.choice:hover{border-color:var(--color-border-strong)}.choice[aria-checked=true]{border-color:var(--color-text);background:var(--color-text);color:#fff}.choice:disabled{color:var(--color-text-muted);cursor:default;border-style:dashed}.config-specs{flex-wrap:wrap;margin:-8px 0 0;font-size:12px;line-height:1.33;display:flex}.config-specs__item{flex-direction:column;flex:100px;gap:4px;padding:0 12px;display:flex}.config-specs__item+.config-specs__item{border-left:1px solid var(--color-border)}.config-specs dt{font-weight:500}.config-specs dd{color:var(--color-text-muted);margin:0}.config-current{border-top:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;flex:none;gap:16px;margin:0 24px;padding:20px 0 24px;display:flex}.config-current__info{flex-direction:column;gap:6px;display:flex}.config-current__name{margin:0;font-size:14px;font-weight:500}.config-current__summary{color:var(--color-text-muted);margin:0;font-size:12px}.config-current__actions{flex-wrap:wrap;gap:8px;display:flex}.button{border:1px solid var(--color-text);height:36px;font:inherit;white-space:nowrap;cursor:pointer;border-radius:2px;flex:180px;justify-content:center;align-items:center;gap:10px;padding:0 12px;font-size:14px;text-decoration:none;display:flex}.button:disabled{opacity:.4;cursor:default}.button--primary{background:var(--color-text);color:#fff}.button--outline{border-color:var(--color-border);color:var(--color-text);background:#fff}.button--outline:hover{border-color:var(--color-border-strong)}.product-page{background:var(--color-surface);height:100%;color:var(--color-text);flex-direction:column;display:flex}.product-page__message{color:var(--color-text-muted);margin:0;padding:32px;font-size:14px}.product-main{flex:1;min-height:0;display:flex}.product-main .configurator{flex:0 0 480px;min-height:0}.product-stage{background:linear-gradient(180deg, var(--color-stage-sky) 0%, var(--color-stage-sky) 40%, var(--color-stage-ground) 100%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;flex:auto;align-items:flex-start;min-width:0;padding:24px;display:flex;position:relative}.product-stage__canvas{position:absolute;inset:0}.product-stage .viewer-toolbar{position:relative}.product-stage__workspace{border:1px solid var(--color-border);width:162px;height:36px;color:var(--color-text);font:inherit;cursor:pointer;background:#fff;border-radius:2px;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex;position:absolute;top:24px;right:24px}.product-stage__workspace:hover{border-color:var(--color-text-muted)}.admin-page{background:var(--color-surface);min-height:100%}.admin-page__header{border-bottom:1px solid var(--color-border);align-items:center;gap:8px;height:64px;padding:0 32px;display:flex}.admin-page__back{color:var(--color-text);display:flex}.admin-page__nav{gap:24px;margin-left:8px;display:flex}.admin-page__section{color:var(--color-text-muted);font-size:14px;text-decoration:none}.admin-page__section:hover,.admin-page__section.active{color:var(--color-text)}.admin-page__section.active{font-weight:500}.admin-page__body{flex-direction:column;gap:24px;max-width:960px;margin:0 auto;padding:32px 32px 64px;display:flex}.api-key{border:1px solid var(--color-border);background:#fff;border-radius:4px;padding:16px;font-size:14px}.api-key__status{flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0;display:flex}.api-key__status .text-button{margin-left:auto}.api-key__dot{background:var(--color-success);border-radius:50%;width:8px;height:8px}.api-key__form{flex-direction:column;gap:8px;display:flex}.api-key__label{font-weight:500}.api-key__row{gap:8px;display:flex}.api-key__input{border:1px solid var(--color-border);min-width:0;height:36px;color:var(--color-text);font:inherit;background:#fff;border-radius:2px;flex:auto;padding:0 12px}.api-key__input:focus{border-color:var(--color-text);outline:none}.api-key__save{border:1px solid var(--color-text);background:var(--color-text);color:#fff;height:36px;font:inherit;cursor:pointer;border-radius:2px;flex:none;padding:0 16px}.api-key__save:disabled{border-color:var(--color-border-strong);background:var(--color-border-strong);cursor:default}.api-key__hint{color:var(--color-text-muted);margin:0;font-size:12px}.text-button{color:var(--color-text);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:14px;font-weight:500;text-decoration:underline}.text-button+.text-button{margin-left:16px}.text-button:disabled{color:var(--color-text-muted);cursor:default;text-decoration:none}.text-button--danger{color:var(--color-danger)}.file-section{flex-direction:column;gap:16px;display:flex}.file-section__error{color:var(--color-danger);border-radius:4px;margin:0;padding:12px 0;font-size:14px}.file-section__empty{color:var(--color-text-muted);text-align:center;margin:0;padding:32px 0;font-size:14px}.file-drop{border:1px dashed var(--color-border-strong);text-align:center;cursor:pointer;background:#fff;border-radius:4px;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;transition:border-color .15s,background-color .15s;display:flex}.file-drop:hover,.file-drop:focus-within,.file-drop[data-dragging]{border-color:var(--color-text)}.file-drop[data-dragging]{background:var(--color-surface)}.file-drop[data-disabled]{border-color:var(--color-border);color:var(--color-text-muted);cursor:default}.file-drop__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-drop__icon{color:var(--color-text-muted)}.file-drop__title{font-size:14px;font-weight:500}.file-drop__hint{color:var(--color-text-muted);font-size:12px}.file-drop__progress{background:var(--color-border);border-radius:2px;width:min(320px,100%);height:4px;overflow:hidden}.file-drop__progress span{background:var(--color-text);height:100%;transition:width .2s;display:block}.upload-result{border:1px solid var(--color-border);background:#fff;border-radius:4px;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 16px;font-size:14px;display:flex}.upload-result__ok{color:var(--color-success);margin:0;font-weight:500}.upload-result__failed{color:var(--color-danger);margin:0;padding-left:20px}.file-table{border-collapse:collapse;width:100%;font-size:14px}.file-table th{border-bottom:1px solid var(--color-border-strong);color:var(--color-text-muted);letter-spacing:.04em;text-align:left;text-transform:uppercase;padding:8px 12px;font-size:12px;font-weight:500}.file-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:10px 12px}.file-table th:first-child,.file-table td:first-child{padding-left:0}.file-table th:last-child,.file-table td:last-child{padding-right:0}.file-table__name{width:100%;max-width:0}.file-table__name a{align-items:center;gap:12px;text-decoration:none;display:flex}.file-table__name a:hover span{text-decoration:underline}.file-table__name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-table__rename{align-items:center;gap:12px;display:flex}.file-table__rename input{border:1px solid var(--color-border-strong);min-width:0;height:32px;color:var(--color-text);font:inherit;background:#fff;border-radius:2px;flex:auto;padding:0 8px}.file-table__rename input:focus{border-color:var(--color-text);outline:none}.file-table__extension{color:var(--color-text-muted);flex:none;margin-left:-8px}.file-table__preview{object-fit:cover;background:var(--color-border);border-radius:4px;flex:none;width:40px;height:40px}.file-table__size,.file-table__date{color:var(--color-text-muted);white-space:nowrap}.file-table__actions{text-align:right;white-space:nowrap}.file-table__muted{color:var(--color-text-muted)}.color-form{border:1px solid var(--color-border);background:#fff;border-radius:4px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px;display:flex}.color-form__field{flex-direction:column;gap:6px;min-width:0;display:flex}.color-form__field>span,.color-form__field>label{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:500}.color-form__field input:not([type=color]){border:1px solid var(--color-border);width:100%;height:36px;color:var(--color-text);font:inherit;background:#fff;border-radius:2px;padding:0 12px;font-size:14px}.color-form__field input:not([type=color]):focus{border-color:var(--color-text);outline:none}.color-form__field input:not([type=color]):disabled{background:var(--color-surface)}.color-form__field--name{flex:2 200px}.color-form__field--code{flex:0 0 96px}.color-form__field--hex{flex:160px}.color-form__hex{gap:8px;display:flex}.color-form__hex input[type=color]{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:2px;flex:none;width:36px;height:36px;padding:2px}.color-form__hex input[type=color]:disabled{cursor:default}.color-form__submit{border:1px solid var(--color-text);background:var(--color-text);color:#fff;height:36px;font:inherit;cursor:pointer;border-radius:2px;flex:none;padding:0 16px;font-size:14px}.color-form__submit:disabled{border-color:var(--color-border-strong);background:var(--color-border-strong);cursor:default}.color-form__hint{color:var(--color-text-muted);margin:-8px 0 0;font-size:12px}.color-name{align-items:center;gap:12px;display:flex}.color-name__swatch{border-radius:50%;flex:none;width:28px;height:28px;box-shadow:inset 0 0 0 1px #00000014}.files-tabs{border-bottom:1px solid var(--color-border);scrollbar-width:none;gap:8px;margin-bottom:-8px;display:flex;overflow-x:auto}.files-tabs__tab{height:44px;color:var(--color-text-muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 16px;font-size:14px}.files-tabs__tab:first-child{padding-left:0}.files-tabs__tab:hover{color:var(--color-text)}.files-tabs__tab[aria-current=page]{border-bottom-color:var(--color-text);color:var(--color-text);font-weight:500}.categories{gap:8px;display:flex}.categories__item{border:1px solid var(--color-border);min-width:96px;height:36px;color:var(--color-text);font:inherit;cursor:pointer;background:#fff;border-radius:2px;padding:0 16px;font-size:14px;transition:border-color .15s,background-color .15s}.categories__item:hover{border-color:var(--color-border-strong)}.categories__item[aria-checked=true]{border-color:var(--color-text);background:var(--color-text);color:#fff}.admin-heading{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.admin-heading__crumb{color:var(--color-text-muted);font-size:14px;text-decoration:none}.admin-heading__crumb:after{content:"/";margin-left:16px}.admin-heading__crumb:hover{color:var(--color-text)}.admin-heading__title{margin:0;font-size:20px;font-weight:500}.admin-heading__action{background:var(--color-text);color:#fff;border-radius:2px;align-items:center;height:36px;margin-left:auto;padding:0 16px;font-size:14px;text-decoration:none;display:flex}.admin-heading__links{align-items:center;gap:16px;margin-left:auto;font-size:14px;display:flex}.admin-heading__links .text-button+.text-button{margin-left:0}.admin-message{color:var(--color-text-muted);margin:0;font-size:14px}.admin-message--error{color:var(--color-danger)}.admin-table{border:1px solid var(--color-border);border-collapse:collapse;background:#fff;width:100%;font-size:14px}.admin-table th,.admin-table td{border-bottom:1px solid var(--color-border);text-align:left;padding:12px}.admin-table th{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:500}.admin-table td:first-child a{font-weight:500}.admin-table__actions{text-align:right}.product-form{flex-direction:column;gap:24px;display:flex}.product-form__grid{border:1px solid var(--color-border);background:#fff;border-radius:4px;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;padding:16px;display:grid}.product-form__field{flex-direction:column;gap:6px;min-width:0;display:flex}.product-form__label{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:500}.product-form__row{gap:8px;display:flex}.product-form__input{border:1px solid var(--color-border);width:100%;min-width:0;height:36px;color:var(--color-text);font:inherit;background:#fff;border-radius:2px;flex:auto;padding:0 12px;font-size:14px}.product-form__input:focus{border-color:var(--color-text);outline:none}.product-form__input:disabled{background-color:var(--color-surface);color:var(--color-text-muted)}.product-form select.product-form__input{appearance:none;text-overflow:ellipsis;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23171717' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.product-form select.product-form__input:disabled{opacity:.5;cursor:default}.product-form__add,.product-form__submit{border:1px solid var(--color-text);height:36px;color:var(--color-text);font:inherit;cursor:pointer;background:#fff;border-radius:2px;flex:none;padding:0 16px;font-size:14px}.product-form__add:disabled,.product-form__submit:disabled{border-color:var(--color-border);color:var(--color-text-muted);cursor:default}.product-form__submit{background:var(--color-text);color:#fff;min-width:160px}.product-form__submit:disabled{background:var(--color-border)}.product-form__hint{color:var(--color-text-muted);margin:0;font-size:12px}.product-form__error{color:var(--color-danger);margin:0;font-size:14px}.product-form__combinations{flex-direction:column;gap:8px;display:flex}.product-form__title{margin:0;font-size:14px;font-weight:500}.product-form__actions{justify-content:flex-end;display:flex}.options{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.options__item{border:1px solid var(--color-text);border-radius:2px;align-items:center;gap:4px;height:32px;padding:0 4px 0 12px;font-size:14px;display:flex}.options__name{color:inherit;font:inherit;cursor:text;background:0 0;border:0;padding:0}.options__name:disabled{cursor:default}.options__input{border:0;border-bottom:1px solid var(--color-text);font:inherit;background:0 0;outline:none;padding:0}.options__remove{width:24px;height:24px;color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;font-size:16px}.options__remove:hover:not(:disabled){color:var(--color-danger)}.options__remove:disabled{cursor:default}.combinations{border:1px solid var(--color-border);border-collapse:collapse;background:#fff;width:100%;font-size:14px}.combinations th,.combinations td{border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;padding:8px 12px}.combinations th{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:500}.combinations td:nth-last-child(-n+2){width:40%}.combinations input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-text);margin:0}.combinations__group td{border-top:2px solid var(--color-text)}.combinations__none{font-style:italic}.combinations__off td{color:var(--color-text-muted)}
