/* GMX-058 brand-owned catalog editor. Preview is scoped independently. */
.theme-manager{max-width:1500px;margin:auto}.theme-manager .panel{padding:24px;margin-bottom:20px}.theme-manager h2{font-size:22px;margin:0 0 14px}.theme-manager .hint{line-height:1.6}.tm-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center}.tm-intro h2{font-family:Georgia,serif;font-size:clamp(25px,3vw,38px);line-height:1.25;font-weight:400}.tm-intro p{max-width:62ch;line-height:1.6}.tm-intro-note{border-left:1px solid var(--line);padding-left:28px}.tm-intro-note strong{color:var(--gold)}.tm-publish-status{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-bottom:18px;font-size:13px;color:var(--muted)}.tm-publish-status strong{color:var(--gold)}.tm-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.tm-policy .checkbox-label{align-self:center}.tm-workspace{display:grid;grid-template-columns:240px minmax(300px,1fr) minmax(340px,1.25fr);gap:18px;align-items:start}.theme-manager .tm-workspace .panel{padding:20px}.tm-library,.tm-controls,.tm-preview-panel{min-width:0}.tm-catalog{display:grid;gap:8px;max-height:630px;overflow:auto;padding:3px}.tm-theme-item{display:flex;align-items:center;gap:10px;min-height:70px;text-align:left;border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--paper);color:var(--ink);width:100%;white-space:normal}.tm-theme-item[aria-pressed=true]{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold)}.tm-theme-item strong{font-size:13px;display:block;overflow-wrap:anywhere}.tm-theme-item small{font-size:11px;line-height:1.5;color:var(--muted);display:block;margin-top:5px}.tm-swatches{display:flex;gap:2px;flex-shrink:0}.tm-swatches i{width:12px;height:30px;border:1px solid var(--line);border-radius:3px}.tm-editor-heading,.tm-preview-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.tm-editor-heading h2{margin:0;overflow-wrap:anywhere}.tm-editor-heading button{font-size:12px;min-height:44px}.tm-colors{padding:0;margin:14px 0 0;border:0;min-width:0}.tm-colors legend{font-size:16px;font-weight:650;margin-bottom:14px}.tm-color-row{display:grid;grid-template-columns:minmax(100px,1fr) 45px 102px;gap:10px;align-items:center;margin-bottom:10px}.tm-color-row label{font-size:12px;margin:0}.tm-color-row input{margin:0;min-width:0;height:44px}.tm-color-row input[type=color]{padding:4px;width:45px}.tm-color-row input:not([type=color]){font-family:ui-monospace,monospace;font-size:12px;padding:10px}.tm-color-row input:invalid{outline:2px solid var(--error)}.tm-actions{display:flex;gap:10px;flex-wrap:wrap}.tm-actions button{min-height:44px;white-space:normal}.tm-preview-header .tm-actions button{font-size:12px;padding:10px}.tm-preview-header [aria-pressed=true]{background:var(--gold);color:var(--on-accent);border-color:var(--gold)}.tm-preview-scroll{overflow-x:auto;max-width:100%}.tm-preview-scroll .theme-surface{width:100%}.tm-preview-scroll .theme-surface[data-device=mobile]{width:340px;max-width:100%}.tm-preview-scroll .preview-layout{grid-template-columns:110px minmax(0,1fr)}.tm-preview-scroll .preview-nav{padding:8px}.tm-preview-scroll .preview-nav span{padding:8px;font-size:11px}.tm-preview-scroll .preview-main{padding:22px}.tm-preview-scroll .preview-main h2{font-size:29px;font-family:var(--heading-font);line-height:1.2}.tm-preview-scroll .preview-cards{grid-template-columns:1fr}.tm-preview-scroll .preview-card:last-child{display:none}.tm-preview-extra{padding:20px;border-top:1px solid var(--line)}.tm-preview-extra label{font-size:12px}.tm-preview-extra input{background:var(--white);color:var(--ink);border:1px solid var(--line)}.tm-preview-extra .tm-success,.tm-preview-extra .tm-error{display:inline-block;padding:6px 10px;font-size:11px;border-radius:var(--theme-radius);margin:0 8px 8px 0}.tm-preview-extra .tm-success{background:var(--tone-5);color:var(--tone-18)}.tm-preview-extra .tm-error{background:var(--tone-12);color:var(--error)}.tm-contrast-result{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:12px;padding:12px 0;border-bottom:1px solid var(--line)}.tm-contrast-result.needs-work{color:var(--error)}.tm-contrast-result.is-ok strong{color:var(--tone-18)}.tm-templates{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.tm-templates summary{cursor:pointer;min-height:44px;font-size:13px;font-weight:600}.tm-templates select{font-size:12px}.tm-import{font-size:13px;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.tm-import input{padding:10px;font-size:11px;max-width:100%;display:block}.tm-import button{width:100%;margin-top:10px;min-height:44px}.tm-savebar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.tm-savebar p{margin:6px 0 0}.tm-savebar .tm-actions{justify-content:flex-end}.tm-history{margin-top:20px}.tm-manager-link{display:inline-flex;margin:8px 0 12px}
@media(min-width:1250px){.tm-preview-panel{position:sticky;top:100px}}
@media(max-width:1250px){.tm-workspace{grid-template-columns:230px minmax(0,1fr)}.tm-preview-panel{grid-column:2;grid-row:2}.tm-controls{grid-column:2;grid-row:1}.tm-library{grid-row:1/3}.tm-preview-scroll .preview-cards{grid-template-columns:1fr 1fr}.tm-preview-scroll .preview-card:last-child{display:block}}
@media(max-width:760px){.theme-manager .panel,.theme-manager .tm-workspace .panel{padding:18px}.tm-intro{grid-template-columns:1fr;gap:12px}.tm-intro-note{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.tm-workspace{display:flex;flex-direction:column;gap:0}.tm-workspace>.panel{width:100%}.tm-catalog{max-height:220px;grid-template-columns:1fr 1fr}.tm-theme-item{min-height:90px;align-items:flex-start;flex-direction:column;gap:8px}.tm-swatches i{height:14px;width:24px}.tm-templates select{width:100%}.tm-savebar .tm-actions{width:100%}.tm-savebar button{flex:1;min-width:130px}.tm-preview-scroll .preview-cards{grid-template-columns:1fr}.tm-preview-scroll .preview-card:last-child{display:none}.tm-preview-scroll .preview-main{padding:16px}.tm-preview-scroll .preview-main h2{font-size:25px}.tm-grid{gap:0 14px}}
@media(max-width:400px){.tm-color-row{grid-template-columns:minmax(82px,1fr) 42px 88px;gap:6px}.tm-color-row input[type=color]{width:42px}.tm-grid{grid-template-columns:1fr}.tm-intro .primary{width:100%}.tm-preview-scroll .preview-layout{grid-template-columns:82px minmax(0,1fr)}.tm-preview-scroll .preview-nav span{font-size:10px}}
