/* SMMPIX UI Polish v114 — frontend only. No business logic. */
:root{
  --ui-radius:16px;
  --ui-radius-sm:12px;
  --ui-gap:20px;
  --ui-shadow:0 10px 30px rgba(15,23,42,.07);
  --ui-shadow-hover:0 18px 42px rgba(15,23,42,.11);
}
*{box-sizing:border-box}
html{scroll-padding-top:84px}
body{line-height:1.5}

/* ---------- Public / landing ---------- */
.site-header{backdrop-filter:blur(16px)!important}
.pp-l{overflow:hidden}
.pp-l .wrap{width:min(1180px,calc(100% - 32px));margin-inline:auto}
.pp-l .hero{padding-top:clamp(48px,7vw,92px);padding-bottom:clamp(44px,6vw,80px)}
.pp-l .hero-grid{align-items:center;gap:clamp(28px,5vw,72px)}
.pp-l .hero h1{font-size:clamp(2.35rem,5vw,4.6rem)!important;line-height:1.02!important;letter-spacing:-.045em!important}
.pp-l .hero p{max-width:650px;line-height:1.7}
.pp-l .section{padding-block:clamp(54px,7vw,88px)!important}
.pp-l .section>.wrap>h2,.pp-l .section>.wrap>div>h2{letter-spacing:-.025em}
.pp-l .grid3,.pp-l .pricing-grid{gap:18px!important}
.pp-l .card,.pp-l .feature-card,.pp-l .pricing-card,.pp-l .gallery-item,.pp-l .testimonial-card{border-radius:18px!important;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.pp-l .card:hover,.pp-l .feature-card:hover,.pp-l .pricing-card:hover,.pp-l .gallery-item:hover,.pp-l .testimonial-card:hover{transform:translateY(-3px)}
.pp-l .pricing-card.featured{transform:translateY(-4px)}
.pp-l .pp-nav-inner{min-height:68px!important}
.pp-l .pp-nav-a,.pp-l .pp-nav-login,.pp-l .pp-nav-cta{white-space:nowrap}
.pp-l .pp-nav-cta{min-height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px!important;padding-inline:16px!important}
.pp-l .hero-login-card{border-radius:20px!important;padding:22px!important;box-shadow:0 24px 65px rgba(15,23,42,.12)!important}
.pp-l .hero-login-card input{min-height:46px}

/* Theme 1 landing polish */
html[data-ui-theme="classic"] .pp-l .section{background:transparent}
html[data-ui-theme="classic"] .pp-l .hero{min-height:clamp(560px,76vh,820px)}
html[data-ui-theme="classic"] .theme1-hero-section{padding-top:clamp(60px,8vw,100px)!important;padding-bottom:clamp(54px,7vw,90px)!important}
html[data-ui-theme="classic"] .theme1-bento>div,html[data-ui-theme="classic"] .theme1-feature-card{border-radius:18px!important}
html[data-ui-theme="classic"] .theme1-hero-section .theme1-hero-lines{opacity:.55}

/* Theme 2 landing polish */
html[data-ui-theme="perfect"] .pp-l .section[style*="background:#f9fafb"]{background:color-mix(in srgb,var(--p) 2%,var(--bg,#f8fafc))!important}
html[data-ui-theme="perfect"] .pp-l .hero{background:radial-gradient(700px 380px at 78% 25%,color-mix(in srgb,var(--p) 12%,transparent),transparent 70%)}
html[data-ui-theme="perfect"] .pp-l .card{box-shadow:0 10px 30px rgba(35,52,84,.07)!important}
html[data-ui-theme="perfect"] .pp-l .card:hover{box-shadow:0 18px 42px rgba(35,52,84,.12)!important}

/* ---------- Guest content pages ---------- */
body:not(.is-client):not(.is-admin) .blog-wrap,
body:not(.is-client):not(.is-admin) .page-wrap{width:min(1120px,calc(100% - 32px));margin-inline:auto}
body:not(.is-client):not(.is-admin) .blog-card{border-radius:18px!important;box-shadow:var(--ui-shadow)!important}
body:not(.is-client):not(.is-admin) .blog-card:hover{box-shadow:var(--ui-shadow-hover)!important}
body:not(.is-client):not(.is-admin) .blog-body,
body:not(.is-client):not(.is-admin) .page-body{border-radius:18px!important;background:var(--card,#fff)!important;box-shadow:var(--ui-shadow);border-color:var(--bd,#e2e8f0)!important}
body:not(.is-client):not(.is-admin) .blog-body{font-size:16px;line-height:1.82}
body:not(.is-client):not(.is-admin) .blog-body h2,.page-body h2{scroll-margin-top:90px}
body:not(.is-client):not(.is-admin) .rel-card{background:var(--card,#fff)!important;border-color:var(--bd,#e2e8f0)!important;border-radius:15px!important}
body:not(.is-client):not(.is-admin) .api-card{background:var(--card,#fff)!important;border-color:var(--bd,#e2e8f0)!important;border-radius:16px!important;box-shadow:var(--ui-shadow)}
body:not(.is-client):not(.is-admin) .page-body table{border-radius:12px;overflow:hidden}

/* ---------- Auth ---------- */
.auth-shell{min-height:calc(100vh - 68px)!important;padding:28px 18px!important;background:var(--bg,#f8fafc)!important}
.auth-split{width:min(1120px,100%)!important;min-height:min(760px,calc(100vh - 120px))!important;border:1px solid var(--bd,#e2e8f0);border-radius:24px;overflow:hidden;box-shadow:0 28px 80px rgba(15,23,42,.10);background:var(--card,#fff)}
.auth-promo{padding:clamp(34px,5vw,64px)!important;position:relative;overflow:hidden}
.auth-promo:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-130px;bottom:-140px;background:rgba(255,255,255,.10);filter:blur(3px)}
.auth-panel{padding:clamp(24px,5vw,58px)!important;background:var(--card,#fff)}
.auth-box{max-width:440px!important;border-radius:20px!important;padding:28px!important;box-shadow:none!important;border-color:var(--bd,#e2e8f0)!important}
.auth-brand{margin-bottom:18px!important}
.auth-brand img{height:40px!important;max-width:190px!important}
.auth-title{font-size:1.55rem!important;letter-spacing:-.025em}
.auth-sub{margin-bottom:22px!important}
.auth-label{font-size:12px!important;font-weight:750!important;margin-bottom:7px!important}
.auth-input{min-height:48px!important;border-radius:12px!important;padding:12px 13px!important;background:var(--input-bg,var(--card,#fff))!important}
.auth-input:hover{border-color:color-mix(in srgb,var(--p) 28%,var(--bd))}
.auth-btn{min-height:48px!important;border-radius:12px!important;margin-top:8px!important;box-shadow:0 9px 22px color-mix(in srgb,var(--p) 20%,transparent)}
.google-btn{min-height:48px!important;border-radius:12px!important}
.auth-row{margin:12px 0!important}
.auth-foot{margin-top:18px!important}
.auth-grid{display:grid;gap:14px}
.password-strength{margin-top:8px}

/* ---------- Logged-in user section ---------- */
body.is-client .main-pad{width:100%;max-width:1440px;margin-inline:auto;padding:clamp(18px,2.6vw,32px)!important}
body.is-client .main-pad>.container,
body.is-client .main-pad>.container-fluid{width:100%;max-width:1240px;margin-inline:auto}
body.is-client .well{border-radius:16px!important;border:1px solid var(--bd)!important;background:var(--card)!important;box-shadow:var(--ui-shadow);padding:20px!important}
body.is-client .well.well-float{padding:20px!important}
body.is-client .card,body.is-client .ui-card,body.is-client .dash-card,body.is-client .xo-card,body.is-client .side-card{border-radius:16px!important}
body.is-client .page-header,.client-page-header{margin-bottom:20px!important}
body.is-client h1{font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.15;letter-spacing:-.025em}
body.is-client h2{font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.25}
body.is-client h3{line-height:1.3}
body.is-client form .form-group{margin-bottom:15px}
body.is-client label{line-height:1.35}
body.is-client input:not([type=checkbox]):not([type=radio]):not([type=color]),body.is-client select,body.is-client textarea,body.is-client .form-control{min-height:44px;border-radius:11px!important}
body.is-client textarea{min-height:110px!important;resize:vertical}
body.is-client .btn,body.is-client .btn-primary,body.is-client .btnx-primary{min-height:42px;border-radius:11px!important;padding:9px 15px!important;font-weight:700}
body.is-client .alert{border-radius:12px!important;margin-bottom:16px}
body.is-client .table-responsive{border-radius:14px;overflow:auto}
body.is-client table{width:100%;min-width:680px}
body.is-client th{white-space:nowrap}
body.is-client td,body.is-client th{vertical-align:middle!important}
body.is-client .table td,body.is-client .table th{padding:12px 13px}
body.is-client .empty-state,.empty-state{border-radius:16px!important}
body.is-client .main-pad a:focus-visible,body.is-client button:focus-visible,body.is-client input:focus-visible,body.is-client select:focus-visible,body.is-client textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--p) 25%,transparent);outline-offset:2px}

/* Dashboard/service/order grids */
body.is-client .grid{min-width:0}
body.is-client .grid>*,body.is-client .flex>*,body.is-client .client-action-row>*{min-width:0}
body.is-client .stat,.client-stat,.dash-stat{border-radius:16px!important}
body.is-client .service-card,.svc-card{border-radius:16px!important}
body.is-client .orders-toolbar,.orders-filters,.service-toolbar{gap:10px!important}

/* Sidebar/topbar alignment */
body.is-client .topbar{min-height:64px!important}
body.is-client .topbar>*{min-width:0}
body.is-client .topbar-balance{min-height:40px!important;border-radius:11px!important}
body.is-client .sidebar .nav-item{border-radius:10px!important;margin:2px 8px!important}
body.is-client .sidebar .nav-item.active{font-weight:750}

/* Mobile user section */
@media(max-width:767px){
  .auth-shell{padding:14px 10px!important;min-height:100vh!important}
  .auth-split{border-radius:18px!important;min-height:auto!important}
  .auth-panel{padding:18px 12px!important}
  .auth-box{padding:22px 16px!important;border-radius:16px!important}
  body.is-client .main-pad{padding:14px 11px!important}
  body.is-client .well{padding:15px!important;border-radius:14px!important}
  body.is-client .table-responsive{margin-inline:-2px}
  body.is-client .table td,body.is-client .table th{padding:10px 9px;font-size:12px}
  body.is-client .btn,body.is-client .btn-primary{min-height:44px}
  body.is-client .page-header{margin-bottom:15px!important}
  .pp-l .wrap{width:min(100% - 24px,1180px)}
  .pp-l .hero{padding-top:36px!important;padding-bottom:42px!important}
  .pp-l .hero h1{font-size:clamp(2rem,11vw,3rem)!important}
  .pp-l .section{padding-block:46px!important}
  .pp-l .pp-nav-inner{min-height:60px!important}
  .pp-l .hero-login-card{padding:17px!important}
}
@media(max-width:479px){
  .auth-title{font-size:1.35rem!important}
  .auth-box{padding:19px 14px!important}
  body.is-client .main-pad{padding-inline:9px!important}
  .pp-l .grid3,.pp-l .pricing-grid{gap:12px!important}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
