/* Appearance-settings UI only. System-wide coverage belongs to
 * theme-coverage.css; business/status/chart colours stay module-owned. */

.theme-settings-card { display:grid; gap:14px; }
.appearance-scope-switch { display:flex; flex-wrap:wrap; gap:6px; padding:4px; border:1px solid var(--border); border-radius:11px; background:var(--surface-subtle); width:max-content; max-width:100%; }
.appearance-scope-switch button { min-height:36px; padding:7px 13px; border:0; border-radius:8px; background:transparent; color:var(--text-secondary); font:inherit; font-weight:700; cursor:pointer; }
.appearance-scope-switch button.active { background:var(--accent); color:#fff; box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 22%,transparent); }
.appearance-inheritance-note { padding:9px 11px; border-inline-start:3px solid var(--accent); border-radius:8px; background:color-mix(in srgb,var(--accent) 7%,var(--surface)); color:var(--text-secondary); font-size:var(--font-size-sm); }
.theme-settings-card>.settings-card-head { margin-bottom:0!important; }
.theme-section { display:grid; gap:12px; padding:15px; border:1px solid var(--border); border-radius:12px; background:var(--surface-subtle); min-width:0; }
.theme-section-head { display:flex; align-items:flex-start; gap:10px; }
.theme-section-head>span { display:grid; place-items:center; width:28px; height:28px; flex:none; border-radius:8px; color:#fff; background:var(--accent); font-weight:900; }
.theme-section-head h4,.theme-section-head p { margin:0; }
.theme-section-head h4 { font-size:var(--font-size-md); color:var(--text-primary); }
.theme-section-head p { margin-top:3px; font-size:var(--font-size-sm); color:var(--text-muted); }
.theme-preset-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.theme-preset-card { display:grid; grid-template-columns:90px minmax(0,1fr); grid-template-rows:auto auto; gap:3px 12px; align-items:center; text-align:start; padding:12px; border:2px solid var(--border); border-radius:12px; background:var(--surface); color:var(--text-primary); cursor:pointer; }
.theme-preset-card:hover { border-color:var(--border-strong); }
.theme-preset-card.selected { border-color:var(--accent); box-shadow:0 0 0 3px var(--focus-ring); }
.theme-preset-card strong { align-self:end; font-size:var(--font-size-md); }
.theme-preset-card small { align-self:start; color:var(--text-muted); }
.theme-preset-preview { grid-row:1/3; display:grid; grid-template-columns:24px 1fr; grid-template-rows:12px 1fr 1fr; gap:4px; width:90px; height:58px; padding:5px; border:1px solid #dbe3ec; border-radius:8px; background:#fff; overflow:hidden; }
.theme-preset-preview i { grid-row:1/4; border-radius:4px; }
.theme-preset-preview b { border-radius:3px; }
.theme-preset-preview em { border-radius:3px; border:1px solid; }
.theme-preset-preview.classic i { background:linear-gradient(#061d34,#06365f); }
.theme-preset-preview.classic b { background:#0b70b5; }
.theme-preset-preview.classic em { background:#f4f7fb; border-color:#dfe6ee; }
.theme-preset-preview.executive i { background:linear-gradient(#0b1f38,#132f52); }
.theme-preset-preview.executive b { background:#245b9e; }
.theme-preset-preview.executive em { background:#eef3f7; border-color:#dbe3ec; }
.theme-colors-grid label small { visibility:hidden; color:var(--accent); }
.theme-colors-grid label.active small { visibility:visible; }
.theme-section .theme-grid { min-width:0; }

@media(max-width:720px) {
  .appearance-scope-switch { width:100%; }
  .appearance-scope-switch button { flex:1 1 140px; }
  .theme-preset-options { grid-template-columns:1fr; }
  .theme-preset-card { grid-template-columns:76px minmax(0,1fr); }
  .theme-preset-preview { width:76px; }
  .theme-section { padding:11px; }
}
