/* SMMPIX Theme 2 — Perfect: clean SaaS / glass-card visual language */
html[data-ui-theme="perfect"] body.is-client{background:#f5f7fb;color:#172033}
html[data-ui-theme="perfect"] body.is-client .card,html[data-ui-theme="perfect"] body.is-client .ui-card,html[data-ui-theme="perfect"] body.is-client .api-card,html[data-ui-theme="perfect"] body.is-client .dash-card,html[data-ui-theme="perfect"] body.is-client .side-card,html[data-ui-theme="perfect"] body.is-client .blog-card,html[data-ui-theme="perfect"] body.is-client .rel-card,html[data-ui-theme="perfect"] body.is-client .xo-card{border:1px solid #e7ebf3!important;border-radius:16px!important;box-shadow:0 10px 30px rgba(35,52,84,.07)!important}
html[data-ui-theme="perfect"] body.is-client .card:hover,html[data-ui-theme="perfect"] body.is-client .ui-card:hover,html[data-ui-theme="perfect"] body.is-client .dash-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(35,52,84,.11)!important}
html[data-ui-theme="perfect"] body.is-client input:not([type=checkbox]):not([type=radio]):not([type=color]),html[data-ui-theme="perfect"] body.is-client select,html[data-ui-theme="perfect"] body.is-client textarea,html[data-ui-theme="perfect"] body.is-client .ui-input{border-radius:10px!important;background:#fff}
html[data-ui-theme="perfect"] body.is-client .btn,html[data-ui-theme="perfect"] body.is-client .btn-primary{border-radius:10px!important}
html[data-ui-theme="perfect"] body.is-client .topbar{background:rgba(255,255,255,.86)!important;backdrop-filter:blur(16px);border-bottom:1px solid #e7ebf3!important}
/* sidebar bg controlled by app-shell var(--p) */
html[data-ui-theme="perfect"][data-theme="dark"] body.is-client{background:#0b1220;color:#e5e7eb}
html[data-ui-theme="perfect"][data-theme="dark"] body.is-client .card,html[data-ui-theme="perfect"][data-theme="dark"] body.is-client .ui-card,html[data-ui-theme="perfect"][data-theme="dark"] body.is-client .api-card,html[data-ui-theme="perfect"][data-theme="dark"] body.is-client .dash-card{background:#111827!important;border-color:#263449!important;box-shadow:0 12px 32px rgba(0,0,0,.22)!important}
html[data-ui-theme="perfect"][data-theme="dark"] body.is-client input:not([type=checkbox]):not([type=radio]):not([type=color]),html[data-ui-theme="perfect"][data-theme="dark"] body.is-client select,html[data-ui-theme="perfect"][data-theme="dark"] body.is-client textarea{background:#0f172a!important;border-color:#334155!important}

/* SMMPIX Theme 2 — Login/Auth styling (guest/auth pages) */
html[data-ui-theme="perfect"] .auth-shell{background:#f5f7fb}
html[data-ui-theme="perfect"] .auth-box{max-width:420px;border:1px solid #e7ebf3!important;border-radius:16px!important;background:#fff!important;box-shadow:0 16px 40px rgba(35,52,84,.10)!important}
html[data-ui-theme="perfect"] .auth-title{font-size:1.35rem}
html[data-ui-theme="perfect"] .auth-input{min-height:46px;border-radius:10px!important;background:#fff!important;border-color:#dfe5ef!important}
html[data-ui-theme="perfect"] .auth-btn{min-height:46px;border-radius:10px!important;box-shadow:0 8px 20px rgba(37,99,235,.16)}
html[data-ui-theme="perfect"] .auth-brand .mark{border-radius:10px}
html[data-ui-theme="perfect"] .google-btn{min-height:44px;border-radius:10px!important}
html[data-ui-theme="perfect"][data-theme="dark"] .auth-shell{background:#0b1220}
html[data-ui-theme="perfect"][data-theme="dark"] .auth-box{background:#111827!important;border-color:#263449!important;box-shadow:0 16px 40px rgba(0,0,0,.28)!important}
html[data-ui-theme="perfect"][data-theme="dark"] .auth-input{background:#0f172a!important;border-color:#334155!important}


/* FIX107: authenticated frontend topbar always follows settings primary color.
 * The final inline theme-primary-force rule in layouts/app.php supplies the exact color. */
html[data-ui-theme="classic"] body.is-client .topbar,
html[data-ui-theme="perfect"] body.is-client .topbar,
html[data-ui-theme="classic"] body.is-client header.topbar,
html[data-ui-theme="perfect"] body.is-client header.topbar{
  background:var(--p)!important;
  color:#fff!important;
  border-bottom-color:color-mix(in srgb,var(--p) 72%,#000)!important;
}
