
/* ============================================================
   ACFixMart V3 — Unified SaaS Design Layer
   Visual redesign only: existing PHP, routes, forms, APIs,
   queries, permissions and business logic remain untouched.
   Reference: ACFixMart Complete SaaS Platform Design System
   ============================================================ */

:root{
  --acf-ink:#0a1628;--acf-ink2:#1e3a5f;--acf-blue:#1755e8;--acf-blue2:#3b72f8;
  --acf-ice:#e8f0ff;--acf-mint:#00c47d;--acf-amber:#f59e0b;--acf-red:#ef4444;
  --acf-purple:#7c3aed;--acf-orange:#ff6b1a;--acf-teal:#0d9488;
  --acf-bg:#f4f7fb;--acf-line:#dde5f0;--acf-muted:#6b7a96;--acf-white:#fff;
  --acf-radius:14px;--acf-shadow:0 2px 12px rgba(10,22,40,.06);
  --acf-shadow-lg:0 12px 34px rgba(10,22,40,.10);
}
html{font-size:14px}
body{font-family:Montserrat,'Noto Sans Telugu','Noto Sans Devanagari',system-ui,sans-serif;background:var(--acf-bg);color:var(--acf-ink)}
button,input,select,textarea{font:inherit}
a{transition:color .15s,background .15s,border-color .15s,box-shadow .15s,transform .15s}
img{max-width:100%}

/* ---------- Public commerce chrome ---------- */
.site-header{
  background:var(--acf-ink)!important;
  box-shadow:0 2px 14px rgba(10,22,40,.22)!important;
}
.header-inner{max-width:1360px!important;min-height:62px;padding:10px 22px!important;gap:18px!important}
.logo img{height:42px!important;width:auto}
.city-selector{border-color:rgba(255,255,255,.18)!important;border-radius:9px!important;background:rgba(255,255,255,.06)!important}
.header-search{max-width:620px!important}
.header-search form{width:100%;display:flex}
.search-input{height:42px!important;border-radius:9px 0 0 9px!important;background:#fff!important}
.search-btn{height:42px!important;background:var(--acf-blue)!important;border-radius:0 9px 9px 0!important}
.header-icon{border-radius:9px!important}
.btn-login{border-radius:9px!important}
.btn-signup{border-radius:9px!important}
.category-nav{background:var(--acf-ink2)!important;border-top:1px solid rgba(255,255,255,.06)}
.category-nav-inner{max-width:1360px!important;padding:0 16px!important}
.cat-nav-item{padding:10px 15px!important;font-weight:600!important}
.cat-nav-item:hover{background:rgba(255,255,255,.07)!important;border-bottom-color:var(--acf-orange)!important}

.page,.container{max-width:1360px!important}
body{background:var(--acf-bg)!important}

/* ---------- Homepage / landing ---------- */
.hp-container{max-width:1360px!important;padding:0 18px!important}
.hp-hero{
  max-width:1360px!important;margin:16px auto 0!important;border-radius:var(--acf-radius)!important;
  box-shadow:var(--acf-shadow)!important;border:1px solid var(--acf-line)!important
}
.hp-cat-sidebar{background:#fff!important}
.hp-sidebar-item{padding:11px 15px!important;border-left-width:3px!important}
.hp-sidebar-item:hover{background:var(--acf-ice)!important;border-left-color:var(--acf-blue)!important}
.hp-banner{height:430px!important;background:#0b1a31!important}
.hp-slide img{object-fit:contain!important}
.hp-section{
  max-width:1360px!important;border-radius:var(--acf-radius)!important;
  border:1px solid var(--acf-line)!important;box-shadow:var(--acf-shadow)!important;
  padding:24px!important
}
.hp-section-head{border-bottom:2px solid var(--acf-blue)!important}
.hp-cat-card,.hp-service-card,.hp-product-card,.service-card{
  border:1px solid var(--acf-line)!important;border-radius:var(--acf-radius)!important;
  box-shadow:none!important;background:#fff!important
}
.hp-cat-card:hover,.hp-service-card:hover,.hp-product-card:hover,.service-card:hover{
  border-color:#a9c2f8!important;box-shadow:0 8px 22px rgba(23,85,232,.10)!important;transform:translateY(-2px)
}
.hp-book-btn,.btn-book,.btn-primary{background:var(--acf-blue)!important;border-radius:9px!important}
.hp-hero-cta .hp-cta-primary,.franchise-btn-primary{background:var(--acf-orange)!important;border-radius:9px!important}
.hp-prime-bar{background:linear-gradient(100deg,var(--acf-ink),var(--acf-blue))!important}
.hp-footer,.footer{background:var(--acf-ink)!important}

/* ---------- Shared content cards/forms/tables ---------- */
.card,.admin-card,.acct-card,.form-card,.panel,.box{
  border:1px solid var(--acf-line)!important;border-radius:var(--acf-radius)!important;
  box-shadow:var(--acf-shadow)!important;background:#fff
}
.card-head,.card-header,.panel-head{border-bottom:1px solid var(--acf-line)!important}
input,select,textarea{
  border-color:var(--acf-line)!important;border-radius:9px!important;background:#fff
}
input:focus,select:focus,textarea:focus{
  outline:none!important;border-color:#8eb0f6!important;box-shadow:0 0 0 3px rgba(23,85,232,.10)!important
}
button,.btn,.btn-primary,.btn-outline,.btn-login,.btn-signup{
  border-radius:9px
}
table{border-color:var(--acf-line)!important}
table th{background:#f7f9fc!important;color:var(--acf-muted)!important}
table td{border-color:var(--acf-line)!important}
.badge{border-radius:999px!important}

/* ---------- Account area ---------- */
.acct-layout,.account-layout{max-width:1360px!important}
.acct-sidebar,.account-sidebar{border:1px solid var(--acf-line)!important;border-radius:var(--acf-radius)!important;box-shadow:var(--acf-shadow)!important}
.acct-main,.account-main{min-width:0}
.acct-tabs{border:1px solid var(--acf-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:var(--acf-shadow)!important}
.acct-tab{padding:11px 14px!important}
.acct-tab.active{color:var(--acf-blue)!important;border-bottom-color:var(--acf-blue)!important}

/* ---------- Service / category / product pages ---------- */
.services-page{max-width:1360px!important;grid-template-columns:250px 1fr!important;gap:20px!important}
.cat-sidebar-list{border-color:var(--acf-line)!important;border-radius:var(--acf-radius)!important;box-shadow:var(--acf-shadow)!important}
.cat-sidebar-item.active,.cat-sidebar-item:hover{background:var(--acf-ice)!important;color:var(--acf-blue)!important}
.pkg-card{border-color:var(--acf-line)!important;border-radius:var(--acf-radius)!important;box-shadow:var(--acf-shadow)!important}
.pkg-card:hover{border-color:#9db8f5!important;box-shadow:var(--acf-shadow-lg)!important;transform:translateY(-2px)}
.product-card,.prod-card{border:1px solid var(--acf-line)!important;border-radius:var(--acf-radius)!important;box-shadow:var(--acf-shadow)!important;background:#fff!important}
.product-card:hover,.prod-card:hover{box-shadow:var(--acf-shadow-lg)!important}

/* ---------- Admin SaaS chrome ---------- */
body.admin-body{background:var(--acf-bg)!important;color:var(--acf-ink)!important}
.sidebar{
  width:260px!important;background:linear-gradient(180deg,#071426 0%,#0a1628 100%)!important;
  box-shadow:4px 0 18px rgba(10,22,40,.10)
}
.sidebar-logo{padding:18px 18px!important;min-height:68px}
.sidebar-logo img{max-width:170px!important;height:auto!important}
.sidebar-role{color:rgba(255,255,255,.48)!important}
.nav-section-label{padding:16px 20px 7px!important;color:rgba(255,255,255,.34)!important}
.nav-item{padding:10px 20px!important;border-radius:0!important}
.nav-item:hover{background:rgba(255,255,255,.06)!important}
.nav-item.active{background:linear-gradient(90deg,rgba(23,85,232,.34),rgba(23,85,232,.10))!important;border-left-color:var(--acf-blue2)!important}
.admin-main{margin-left:260px!important}
.admin-header{
  height:64px!important;padding:0 28px!important;background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(10px);box-shadow:0 1px 8px rgba(10,22,40,.05)!important
}
.admin-page-title{font-size:19px!important}
.admin-content{padding:26px 28px!important}
.kpi-grid{gap:16px!important}
.kpi-card{
  border:1px solid var(--acf-line)!important;border-radius:var(--acf-radius)!important;
  box-shadow:var(--acf-shadow)!important;transition:.18s
}
.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--acf-shadow-lg)!important}
.admin-card{border-radius:var(--acf-radius)!important;box-shadow:var(--acf-shadow)!important}
.card-head{padding:16px 20px!important}
.content{padding:20px!important}
.admin-table{font-size:13px!important}
.admin-table th{background:#f7f9fc!important}
.admin-table td{padding:13px 16px!important}
.btn{border-radius:9px!important}
.btn-primary{background:var(--acf-blue)!important}
.status-bar{border-radius:12px!important;box-shadow:var(--acf-shadow)!important}
.sa-pill.active{background:var(--acf-blue)!important}
.sa-field input,.sa-field select,.sa-field textarea,.admin-select{border-radius:9px!important}
.alert-banner{border-radius:12px!important}

/* ---------- Generic standalone login / portal / registration ---------- */
body:has(.login-card),body:has(.portal-card),body:has(.auth-card),body:has(.partner-login){
  background:linear-gradient(135deg,#eef4ff,#f7f9fc)!important
}
.wrap:has(.card),.wrap:has(.hero){
  max-width:1180px
}
.hero,.login-card,.portal-card,.auth-card{
  border:1px solid var(--acf-line)!important;border-radius:20px!important;box-shadow:var(--acf-shadow-lg)!important
}
.role.active,.role:hover{border-color:#9db8f5!important}
.ch-tab.active,.channel-tab.active{background:var(--acf-ice)!important;color:var(--acf-blue)!important}
.otp-input:focus{border-color:var(--acf-blue)!important}

/* ---------- Modals / overlays ---------- */
.modal-overlay{background:rgba(7,20,38,.58)!important;backdrop-filter:blur(4px)}
.city-modal,.modal-inner,.modal-content{
  border:1px solid var(--acf-line)!important;border-radius:20px!important;
  box-shadow:0 24px 70px rgba(7,20,38,.22)!important
}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .header-search{max-width:none!important}
  .hp-hero{grid-template-columns:190px 1fr!important}
  .hp-banner{height:380px!important}
}
@media(max-width:960px){
  .header-inner{flex-wrap:wrap!important}
  .header-left{flex:1}
  .header-search{order:3;flex-basis:100%}
  .site-header{padding-bottom:8px}
  .category-nav{overflow:hidden}
  .admin-main{margin-left:0!important}
  .sidebar{left:-270px!important}
  .sidebar.open{left:0!important}
  .admin-content{padding:20px!important}
}
@media(max-width:720px){
  .hp-hero{display:block!important;margin:10px!important}
  .hp-cat-sidebar{display:none!important}
  .hp-banner{height:auto!important;aspect-ratio:16/9!important}
  .hp-section{margin:10px!important;padding:18px!important}
  .services-page{grid-template-columns:1fr!important;padding:16px!important}
  .cat-sidebar{position:static!important}
  .header-left{width:100%;justify-content:space-between}
  .header-right{margin-left:auto}
  .logo img{height:36px!important}
  .city-selector{font-size:12px!important}
  .admin-header{padding:0 16px!important}
  .admin-page-title{font-size:16px!important}
}
@media(max-width:520px){
  .header-inner{padding:8px 12px!important}
  .header-search{width:100%}
  .header-right{gap:4px!important}
  .header-icon{padding:4px 6px!important}
  .btn-login{padding:7px 12px!important}
  .kpi-grid{grid-template-columns:1fr 1fr!important}
  .admin-content{padding:14px!important}
  .admin-table{min-width:680px}
}

/* Accessibility / motion */
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
