/* Form language shared by the public account and the administration. */
body label { font-size:14px; font-weight:500; line-height:1.45; min-width:0; }
body input,body select,body textarea { font-size:15px; font-weight:400; line-height:1.45; min-height:44px; box-shadow:none; }
body input::placeholder,body textarea::placeholder { color:var(--muted); opacity:1; }
body input:focus,body select:focus,body textarea:focus { border-color:var(--primary); outline:3px solid var(--focus); outline-offset:1px; }
body textarea { resize:vertical; min-height:100px; }
body label .hint,body label .muted,body label .field-hint { font-size:12px; font-weight:400; line-height:1.55; color:var(--muted); }
body input[type=checkbox],body input[type=radio] { width:18px; height:18px; min-height:18px; flex:none; accent-color:var(--action-bg); }
body input[type=file] { padding:10px; background:var(--panel-soft); }
body input[type=file]::file-selector-button { font:inherit; border:1px solid var(--line); border-radius:5px; padding:7px 10px; margin-right:12px; color:var(--ink); background:var(--panel); }
body input[aria-invalid=true],body select[aria-invalid=true],body textarea[aria-invalid=true] { border-color:var(--danger-ink); }
.required-mark { color:var(--primary); }
.refined-form label { display:block; }
.refined-form label>input,.refined-form label>select,.refined-form label>textarea,.refined-form label>.password-control { display:block; margin-top:7px; }
.refined-form label>small { display:block; margin-top:6px; }
.refined-form .checkbox-row { display:flex; align-items:flex-start; gap:10px; }
.form-fields,.refined-form .field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.form-field-wide { grid-column:1/-1; }
.form-group { margin:0; padding:0; border:0; min-width:0; }
.form-group>legend { float:left; padding:0; margin:0 0 18px; font-size:17px; font-weight:600; color:var(--ink); }
.form-group>legend+* { clear:both; }
.form-group>.form-help { margin:-8px 0 20px; }
.form-group:after { content:''; display:block; clear:both; }
.form-help,.form-note { font-size:12px; line-height:1.6; font-weight:400; color:var(--muted); margin:0; }
.form-note { padding:12px 14px; border-left:3px solid var(--line); background:var(--panel-soft); }
.form-disclosure { min-width:0; padding:0; border:1px solid var(--line); border-radius:8px; background:var(--panel); }
.form-disclosure>summary { cursor:pointer; padding:15px 18px; font-size:13px; font-weight:500; }
.form-disclosure>.form-fields { padding:6px 18px 20px; }
.form-disclosure>.form-help { margin:0 18px 14px; }
.form-disclosure:has(.form-fields:empty),.form-group:has(.form-fields:empty),.form-disclosure:has(.form-fields):not(:has(.form-fields>label:not([hidden]))) { display:none; }
.field-error { display:block; font-size:12px; font-weight:500; color:var(--danger-ink); line-height:1.5; }
.password-control { display:block; position:relative; }
.password-control input { width:100%; padding-right:88px; }
.password-control .password-reveal { position:absolute; inset:2px 2px 2px auto; padding:0 12px; border:0; border-radius:5px; background:transparent; color:var(--primary); font-size:12px; font-weight:600; cursor:pointer; min-height:40px; }
.password-reveal:hover { background:var(--secondary); }
.editor-dialog { width:min(820px,calc(100% - 40px)); overflow:auto; }
.editor-dialog[open] { display:flex; flex-direction:column; }
.editor-top { position:relative; flex:none; padding:24px 28px 20px; align-items:flex-start; gap:20px; }
.editor-heading { min-width:0; }
.editor-heading strong { display:block; font-size:24px; font-weight:650; line-height:1.25; letter-spacing:-.025em; }
.editor-heading p { font-size:13px; color:var(--muted); line-height:1.55; margin:8px 0 0; max-width:650px; }
.editor-top>button { flex:none; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; width:36px; height:36px; }
.editor-body { padding:24px 28px 0; overflow-y:auto; min-height:0; scroll-padding:24px 0 90px; }
.editor-body form,.editor-body #price-form-fields,.editor-body #promotion-form-fields { gap:24px; }
.editor-body form>div:first-child:has(>h3[hidden]):not(:has(> :not([hidden]))) { display:none; }
.editor-body .editor-actions { bottom:0; flex-wrap:wrap; margin:0; padding:18px 0; gap:10px; box-shadow:0 -10px 12px -12px var(--overlay); }
.editor-actions>button:last-child:not([type=submit]) { order:-1; margin-right:auto; }
.editor-actions>button[type=submit] { margin-left:auto; }
.editor-dialog button { min-height:40px; }
.editor-feedback { font-size:13px; }
.product-editor { width:min(960px,calc(100% - 40px)); }
.product-editor .editor-body { padding-top:0; }
.product-editor #product-form { gap:0; }
.form-steps { display:flex; gap:10px; border-bottom:1px solid var(--line); margin:0 0 26px; padding:18px 0; }
.form-step-button { display:flex; align-items:center; gap:9px; padding:0; background:transparent; border:0; color:var(--muted); font-size:13px; cursor:pointer; flex:1; text-align:left; }
.form-step-button:not(:last-child):after { content:''; width:24px; height:1px; background:var(--line); margin-left:auto; margin-right:12px; }
.form-step-number { display:grid; place-items:center; width:27px; height:27px; flex:none; border:1px solid var(--line); border-radius:50%; background:var(--panel-soft); font-size:12px; }
.form-step-button[aria-current=step] { color:var(--ink); font-weight:600; }
.form-step-button[aria-current=step] .form-step-number { background:var(--action-bg); color:var(--primary-ink); border-color:var(--action-bg); }
.form-step-button.complete .form-step-number { background:var(--secondary); border-color:var(--secondary); color:var(--primary); }
.form-workspace { display:grid; grid-template-columns:minmax(0,1fr) 225px; align-items:start; gap:28px; padding-bottom:26px; min-height:340px; }
.form-step-content { min-width:0; }
.form-step { display:grid; gap:24px; outline:none; }
.form-preview { border:1px solid var(--line); border-radius:9px; padding:20px; background:var(--panel-soft); }
.form-preview h3 { font-size:13px; font-weight:500; margin:0 0 16px; color:var(--muted); }
.preview-name { font-size:17px; line-height:1.5; display:block; overflow-wrap:anywhere; }
.preview-values { display:grid; gap:4px; font-size:12px; margin:20px 0; }
.preview-values dt { color:var(--muted); }.preview-values dd { margin:0 0 10px; font-weight:500; }
.form-preview .form-help { border-top:1px solid var(--line); padding-top:16px; }
.form-progress { color:var(--muted); font-size:12px; margin:0 auto; }
.product-editor .editor-actions>button[type=submit] { margin-left:0; }
.product-editor .editor-actions>button:first-child { margin-right:0; }
#product-package-editor { padding:0; background:transparent; border:0; gap:16px; }
#product-package-editor>h4 { font-size:17px; font-weight:600; margin:0; }
#product-package-editor>p { margin:0; font-size:12px; line-height:1.55; color:var(--muted); }
#product-package-items { gap:16px; }
#product-package-items .catalog-price { padding:18px; background:var(--panel); border:1px solid var(--line); border-radius:8px; gap:16px; }
.package-item-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.package-item-heading h4 { font-size:14px; margin:0; }
.package-item-heading .ghost-button { min-height:32px; font-size:12px; padding:5px 8px; border:0; background:transparent; }
#product-package-items .field-row { gap:14px; }
#product-package-items label { font-size:12px; }
#product-package-items .button-row .pill { background:transparent; padding:0; color:var(--muted); font-weight:400; }
#product-package-editor>.button-row button { width:100%; border-style:dashed; }
#account-billing-form,#member-create-form { gap:28px; padding-top:22px; }
#account-billing-form .form-group+.form-group { padding-top:26px; border-top:1px solid var(--line); }
#billing-editor>summary { cursor:pointer; font-size:14px; font-weight:600; color:var(--primary); padding:12px 0; }
.form-footer { border-top:1px solid var(--line); margin:0; padding-top:20px; display:flex; justify-content:flex-end; gap:10px; }
.client-app .auth-form { gap:20px; }
.client-app .auth-form label>input { margin-top:7px; }
.client-app .auth-form .primary-button { width:100%; min-height:44px; }
.client-app .auth-form .checkbox-row { font-weight:400; font-size:13px; }
.settings-workspace { display:grid; grid-template-columns:215px minmax(0,1fr); gap:30px; align-items:start; }
.settings-aside { position:sticky; top:20px; min-width:0; max-height:calc(100dvh - 130px); overflow-y:auto; padding:4px; margin:-4px; scrollbar-gutter:stable; }
.settings-section-picker { display:none; }
.settings-search-label { display:block; font-size:12px; font-weight:500; margin-bottom:18px; }
.settings-search-label input { margin-top:8px; font-size:13px; }
.settings-aside .section-switch { display:flex; flex-direction:column; align-items:stretch; gap:3px; padding:0; border:0; }
.settings-aside .tab-button { text-align:left; min-height:40px; padding:9px 12px; font-size:13px; border-radius:6px; border:0; white-space:normal; }
.settings-aside .tab-button.active { background:var(--secondary); color:var(--primary); box-shadow:inset 3px 0 var(--action-bg); }
.settings-content { min-width:0; container:settings-content / inline-size; }
.settings-content :is(.field-grid,.grid,.settings-section) { min-width:0; }
.settings-content :is(input,select,textarea,button,summary) { scroll-margin-block:24px 110px; }
.settings-workspace .settings-panel-copy { border-bottom:1px solid var(--line); padding-bottom:22px; margin-bottom:26px; }
.settings-workspace #settings-panel-title { margin:0 0 8px; font-size:24px; }
.settings-workspace .settings-panel-copy .hint { font-size:12px; font-weight:400; }
.settings-workspace .settings-panel-copy .hint:last-child { margin-bottom:0; }
.settings-workspace .setting-group { border:0; border-radius:0; padding:0; background:transparent; }
.settings-workspace #settings-groups .setting-group-head { display:none; }
.settings-workspace #settings-groups .grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.settings-workspace #settings-groups label:has(textarea),.settings-workspace #settings-groups label:has(input[type=checkbox]),.settings-workspace #settings-groups label:has(input[type=password]) { grid-column:1/-1; }
.settings-workspace #settings-groups label .hint { margin-top:0; }
.settings-workspace.searching #settings-groups .setting-group-head { display:block; }
.settings-workspace .setting-group-head h3 { margin:0 0 18px; font-size:17px; }
.settings-content .settings-tools { margin-top:28px; }
.settings-savebar { position:static; bottom:0; z-index:4; display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:18px 0 4px; margin-top:30px; background:var(--panel); border-top:1px solid var(--line); box-shadow:0 -10px 12px -12px var(--overlay); }
.settings-savebar.has-changes { position:sticky; }
.settings-savebar .settings-dirty-count { flex:1; color:var(--muted); font-size:12px; }
.settings-savebar button { white-space:normal; }
.settings-workspace~.settings-savebar { padding-bottom:16px; }
.settings-empty { padding:30px 0; color:var(--muted); }
.settings-workspace .field-label-row { font-weight:500; }
@container settings-content (max-width:720px) {
 .download-product-grid,.settings-workspace #settings-groups .grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:1100px) {
 .settings-workspace { grid-template-columns:minmax(0,1fr); gap:24px; }
 .settings-aside { position:static; max-height:none; overflow:visible; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
 .settings-search-label { margin-bottom:0; }
 .settings-section-picker { display:block; font-size:12px; }
 .settings-section-picker select { display:block; margin-top:8px; }
 .settings-aside #settings-section-switch { display:none; }
}
@media(max-width:760px) {
 .form-workspace { grid-template-columns:minmax(0,1fr); gap:20px; min-height:0; }
 .form-preview { padding:16px; }.form-preview h3 { margin-bottom:10px; }.preview-values { grid-template-columns:repeat(2,minmax(0,1fr)); margin:14px 0 0; }.preview-values dt { grid-column:1; }.preview-values dd { grid-column:2; margin-bottom:7px; }.form-preview .form-help { display:none; }
 .settings-workspace { grid-template-columns:minmax(0,1fr); gap:24px; }.settings-aside { position:static; }.settings-aside .section-switch { flex-direction:row; flex-wrap:nowrap; overflow-x:auto; padding-bottom:8px; }.settings-aside .tab-button { flex:none; }.settings-aside .tab-button.active { box-shadow:inset 0 -3px var(--action-bg); }
 .settings-savebar { flex-wrap:wrap; }.settings-dirty-count { flex-basis:100%!important; }
 .settings-savebar.has-changes { position:static; }
}
@media(max-width:520px) {
 body input,body select,body textarea { font-size:16px; }
 .editor-dialog,.product-editor { width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:10px; }
 .editor-top { padding:20px 18px 16px; gap:12px; }.editor-heading strong { font-size:22px; }.editor-heading p { font-size:12px; }.editor-body { padding:18px 18px 0; }
 .form-fields,.refined-form .field-row,.settings-workspace #settings-groups .grid { grid-template-columns:minmax(0,1fr); gap:18px; }
 .form-steps { gap:6px; margin-bottom:22px; padding:14px 0; }.form-step-button { gap:6px; font-size:11px; flex-wrap:wrap; }.form-step-button:after { display:none!important; }.form-step-number { width:24px; height:24px; }
 .editor-body .editor-actions { gap:8px; padding:14px 0; }.editor-actions button { padding:9px 11px; font-size:12px; }.form-progress { font-size:10px; }.product-editor .editor-actions { display:grid; grid-template-columns:1fr 1fr; }.product-editor .form-progress { text-align:right; margin:0; }.product-editor .editor-actions>button:first-child { justify-self:start; }.product-editor .editor-actions>button[type=submit],.product-editor .editor-actions>button.primary-button { grid-column:2; }.product-editor .editor-actions>button[hidden]+button.primary-button { grid-column:1/-1; }
 .form-footer { flex-wrap:wrap; }.form-footer button { flex:1; }
 .settings-savebar #save-settings { flex:1; }
 .settings-aside { grid-template-columns:minmax(0,1fr); }
 .settings-savebar button { width:100%; }
 .settings-app .layout>.panel { padding:16px; }
 .settings-app .download-asset-card { padding:14px; }
 .settings-app .download-asset-dropzone { padding:12px; }
}
@media(prefers-reduced-motion:reduce) { input,select,textarea,button { transition:none!important; } }
.settings-app .settings-aside #settings-section-switch { padding:0; margin:0; border:0; }
.settings-app .settings-aside .section-switch .tab-button { justify-content:flex-start; text-align:left; font-size:13px; }
#product-package-editor>div>h4 { font-size:17px; margin:0 0 10px; }
#product-package-editor>div>p { margin:0; font-size:12px; font-weight:400; }
.settings-workspace #settings-groups label:has(.password-control) { grid-column:1/-1; }
.client-app .auth-form.active { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
.client-app .auth-form label.checkbox { display:flex; align-items:flex-start; gap:10px; font-size:13px; font-weight:400; }
.client-app .auth-form label.checkbox input { margin-top:2px; }
.client-app .portal-footer nav { flex-wrap:wrap; }
#account-billing-form,#member-create-form { display:grid; }
#billing-editor { max-width:960px; }
#account-billing-form .form-footer .ghost-button { background:var(--panel); border:1px solid var(--line); color:var(--primary); }
