/* OPS Gate centralized branding layer — loaded after the application shell. */
body.ops-body{
  background:var(--ops-bg);
  color:var(--ops-text);
  font-family:var(--ops-font-family,system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  font-size:var(--ops-base-font-size,16px);
}
h1,h2,h3,h4,h5,h6,.ops-page-title,.ops-module-title{font-weight:var(--ops-heading-weight,800)}
#sidebar{background:linear-gradient(180deg,var(--ops-sidebar),var(--ops-sidebar-soft));color:var(--ops-sidebar-text)}
#sidebar :is(.title,.sidebar-link,.ops-sidebar-group-toggle){color:var(--ops-sidebar-text)}
.btn-primary{background:var(--ops-primary)!important;border-color:var(--ops-primary)!important}
.btn-primary:hover,.btn-primary:focus{background:var(--ops-primary-dark)!important;border-color:var(--ops-primary-dark)!important}
.text-primary{color:var(--ops-primary)!important}.bg-primary{background-color:var(--ops-primary)!important}
.card,.ops-card,.ops-panel,.ops-section,.modal-content{border-radius:var(--ops-radius)!important}
.ops-brand-mark.ops-brand-mark--image{padding:.25rem;background:rgba(255,255,255,.96);overflow:hidden}
.ops-brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.ops-brand-logo--dark{display:none!important}
html[data-ops-theme="dark"] .ops-brand-logo--light{display:none!important}
html[data-ops-theme="dark"] .ops-brand-logo--dark{display:block!important}

body.ops-auth-page{
  position:relative;
  isolation:isolate;
  background-color:var(--ops-login-bg)!important;
  background-image:var(--ops-login-bg-image),linear-gradient(135deg,var(--ops-login-bg),var(--ops-bg))!important;
  background-size:cover!important;
  background-position:center!important;
  color:var(--ops-login-text)!important;
}
body.ops-auth-page::before{content:"";position:fixed;z-index:0;inset:0;background:var(--ops-login-overlay);opacity:var(--ops-login-overlay-opacity);pointer-events:none}
body.ops-auth-page>.ops-auth-shell,body.ops-auth-page>.ops-app-version{position:relative;z-index:1}
body.ops-auth-page .ops-auth-card{background:var(--ops-login-card)!important;color:var(--ops-login-text)!important;border-radius:var(--ops-radius)!important}
body.ops-auth-page .ops-auth-card :is(h1,.form-label){color:var(--ops-login-text)!important}
body.ops-auth-page .ops-auth-card .text-muted{color:color-mix(in srgb,var(--ops-login-text) 68%,transparent)!important}
body.ops-auth-page .ops-auth-form>.btn-primary{color:var(--ops-login-button-text)!important}
.ops-auth-brand.ops-auth-brand--image{width:min(210px,72%);height:82px;padding:.25rem;background:transparent;box-shadow:none;border-radius:0}
.ops-auth-brand img{width:100%;height:100%;object-fit:contain}

.ops-color-control{display:grid;grid-template-columns:54px minmax(0,1fr);gap:.55rem;align-items:center}
.ops-color-control input[type="color"]{width:54px;height:42px;padding:.2rem;border:1px solid var(--ops-border);border-radius:10px;background:var(--ops-surface);cursor:pointer}
.ops-branding-manager{grid-column:1/-1;display:grid;gap:1rem;padding:1rem;border:1px solid var(--ops-border);border-radius:var(--ops-radius);background:var(--ops-surface)}
.ops-branding-manager__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.ops-branding-manager__head h5{margin:0}.ops-branding-manager__head p{margin:.25rem 0 0;color:var(--ops-muted);font-size:.82rem}
.ops-branding-assets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.ops-branding-asset{display:grid;gap:.55rem;padding:.75rem;border:1px solid var(--ops-border);border-radius:14px;background:var(--ops-bg)}
.ops-branding-asset__preview{height:92px;display:grid;place-items:center;border:1px dashed var(--ops-border);border-radius:12px;background:var(--ops-surface);overflow:hidden;color:var(--ops-muted);font-size:.78rem;text-align:center;padding:.5rem}
.ops-branding-asset__preview img{max-width:100%;max-height:100%;object-fit:contain}.ops-branding-asset__preview i{font-size:1.6rem}
.ops-branding-asset__actions{display:flex;gap:.4rem}.ops-branding-asset__actions .btn{flex:1}
.ops-branding-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.ops-branding-preview{--preview-primary:#2563eb;--preview-bg:#f4f7fb;--preview-surface:#fff;--preview-text:#0f172a;--preview-sidebar:#0f172a;--preview-sidebar-text:#e5edf8;min-height:240px;border:1px solid var(--ops-border);border-radius:16px;overflow:hidden;background:var(--preview-bg);color:var(--preview-text)}
.ops-branding-preview__bar{height:42px;padding:.6rem .75rem;background:var(--preview-sidebar);color:var(--preview-sidebar-text);display:flex;align-items:center;gap:.5rem;font-weight:800}
.ops-branding-preview__body{padding:.8rem;display:grid;gap:.6rem}.ops-branding-preview__card{padding:.75rem;border-radius:12px;background:var(--preview-surface);box-shadow:0 8px 20px rgba(15,23,42,.08)}
.ops-branding-preview__button{display:inline-flex;width:max-content;padding:.42rem .7rem;border-radius:9px;background:var(--preview-primary);color:#fff;font-weight:800;font-size:.78rem}
.ops-branding-preview--login{display:grid;place-items:center;padding:1rem;background:var(--preview-bg);background-image:var(--preview-image,none);background-size:cover;background-position:center}
.ops-branding-preview--login .ops-branding-preview__card{width:min(280px,90%);text-align:center;color:var(--preview-text)}

html[data-ops-theme="dark"] .ops-settings-field,html[data-ops-theme="dark"] .ops-branding-manager,html[data-ops-theme="dark"] .ops-branding-asset{background:var(--ops-surface);color:var(--ops-text);border-color:var(--ops-border)}
@media(max-width:991.98px){.ops-branding-assets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.ops-branding-assets,.ops-branding-previews{grid-template-columns:1fr}}
