
/* Medical CSPLUS v63 Corporate Redesign Foundation */
:root{
  --corp-navy:#071326;
  --corp-ink:#0f172a;
  --corp-muted:#64748b;
  --corp-line:#e5e7eb;
  --corp-blue:#2563eb;
  --corp-cyan:#06b6d4;
  --corp-soft:#f6f9ff;
  --corp-card:#ffffff;
  --corp-radius:28px;
  --corp-shadow:0 22px 70px rgba(15,23,42,.10);
}
html{scroll-behavior:smooth}
body{background:
  radial-gradient(circle at 0% 0%,rgba(37,99,235,.10),transparent 34%),
  radial-gradient(circle at 100% 0%,rgba(6,182,212,.10),transparent 30%),
  linear-gradient(180deg,#f8fbff 0%,#ffffff 42%,#f8fafc 100%)!important;
  color:var(--corp-ink)!important;
  letter-spacing:-.01em;
}
.site-shell{max-width:1240px!important;margin:0 auto!important;padding:24px 18px 70px!important}
.site-nav{position:sticky!important;top:0!important;z-index:999!important;background:rgba(255,255,255,.80)!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important;border-bottom:1px solid rgba(226,232,240,.70)!important}
.site-nav-inner{max-width:1240px!important;margin:0 auto!important;padding:12px 18px!important;display:grid!important;grid-template-columns:minmax(190px,230px) minmax(0,1fr) auto!important;gap:16px!important;align-items:center!important}
.site-brand{display:flex!important;align-items:center!important;gap:11px!important;text-decoration:none!important;color:var(--corp-ink)!important;min-width:0!important}
.site-brand-mark{width:42px!important;height:42px!important;border-radius:16px!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#2563eb,#06b6d4)!important;color:#fff!important;box-shadow:0 14px 32px rgba(37,99,235,.26)!important}
.site-brand-text{font-size:16px!important;font-weight:950!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.site-menu.desktop-only{display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-width:0!important;overflow:hidden!important;border:1px solid rgba(226,232,240,.95)!important;background:rgba(255,255,255,.72)!important;border-radius:999px!important;padding:5px!important;box-shadow:0 14px 38px rgba(15,23,42,.06)!important}
.site-menu.desktop-only a{display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;text-decoration:none!important;color:#334155!important;font-size:13px!important;font-weight:900!important;padding:10px 12px!important;border-radius:999px!important;line-height:1!important}
.site-menu.desktop-only a:hover{background:#eff6ff!important;color:#1d4ed8!important}
.site-actions.site-actions-desktop{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important}
.btn-ghost,.btn-solid,.s2-btn,.catalog-btn,.v60-btn{transition:.18s ease!important}
.site-actions .btn-ghost,.site-actions .btn-solid{border-radius:999px!important;min-height:42px!important;padding:0 16px!important;font-size:13px!important;font-weight:950!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important}
.btn-ghost{background:#fff!important;border:1px solid #dbeafe!important;color:#0f172a!important}
.btn-solid{background:linear-gradient(135deg,#2563eb,#1550d8)!important;border:1px solid #2563eb!important;color:#fff!important;box-shadow:0 14px 34px rgba(37,99,235,.24)!important}
.flash{max-width:1120px;margin:14px auto!important;border-radius:18px!important;border:1px solid #e2e8f0!important;padding:13px 16px!important;font-weight:850!important}.flash-error{background:#fff7ed!important;color:#9a3412!important;border-color:#fed7aa!important}.flash-success{background:#ecfdf5!important;color:#047857!important;border-color:#bbf7d0!important}

/* Public page system */
.hero,.home-hero,.catalog-hero,.s2-hero,.dash-card,.v60-hero{border-radius:34px!important;border:1px solid rgba(219,234,254,.95)!important;background:
  radial-gradient(circle at 14% 12%,rgba(37,99,235,.16),transparent 32%),
  radial-gradient(circle at 88% 18%,rgba(6,182,212,.15),transparent 30%),
  linear-gradient(135deg,#ffffff 0%,#f3f8ff 58%,#f0fdfa 100%)!important;
  box-shadow:var(--corp-shadow)!important;
}
.catalog-hero h1,.s2-hero h1,.dash-card h1,.v60-hero h1{letter-spacing:-.055em!important}
.catalog-card,.s2-box,.dash-kpi,.v60-card,.clean-info-box{border-radius:26px!important;border:1px solid rgba(226,232,240,.92)!important;background:rgba(255,255,255,.94)!important;box-shadow:0 18px 50px rgba(15,23,42,.07)!important}
.catalog-card:hover,.s2-box:hover{transform:translateY(-2px)!important;box-shadow:0 28px 70px rgba(37,99,235,.12)!important}
.catalog-toolbar{align-items:center!important}.catalog-count-pill{background:#fff!important;border:1px solid #dbeafe!important;color:#1d4ed8!important}
.catalog-cats{padding-top:10px!important}.catalog-cat{border-radius:18px!important}
.catalog-media{background:linear-gradient(180deg,#f8fbff,#fff)!important}.catalog-media img{padding:20px!important}
.catalog-body h3{letter-spacing:-.035em!important}.catalog-price{color:#0f4ed8!important}
.s2-duo-grid{max-width:1180px!important;margin-left:auto!important;margin-right:auto!important}
.clean-tier-card{border-radius:20px!important}

/* Customer area */
.dash-grid{max-width:1180px!important;margin:0 auto!important;gap:18px!important}
.dash-sidebar{border-radius:28px!important;border:1px solid #e2e8f0!important;background:rgba(255,255,255,.92)!important;box-shadow:0 18px 50px rgba(15,23,42,.06)!important;padding:16px!important}
.dash-sidebar a{border-radius:15px!important;font-weight:850!important}
.dash-sidebar a.active{background:linear-gradient(135deg,#eff6ff,#e0f2fe)!important;color:#1d4ed8!important}
.customer-action-strip{margin:18px 0!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}
.customer-action-card,.customer-action-strip a{min-height:72px!important;border:1px solid #dbeafe!important;background:linear-gradient(180deg,#fff,#f8fbff)!important;border-radius:20px!important;box-shadow:0 14px 34px rgba(15,23,42,.06)!important}
.dash-kpi-grid{gap:14px!important}.dash-kpi strong{font-size:34px!important;color:#2563eb!important}
.v60-wrap{max-width:1100px!important}.v60-table{border-radius:22px!important;box-shadow:0 14px 40px rgba(15,23,42,.05)!important}

@media(max-width:1120px) and (min-width:901px){
  .site-nav-inner{grid-template-columns:180px minmax(0,1fr) auto!important;gap:10px!important}
  .site-menu.desktop-only a{font-size:12px!important;padding:9px 8px!important}
  .site-actions .btn-ghost,.site-actions .btn-solid{padding:0 12px!important;font-size:12px!important}
}
@media(max-width:900px){
  .site-shell{padding:16px 14px 105px!important}
  .site-nav-inner{display:flex!important;justify-content:space-between!important}
  .site-menu.desktop-only{display:none!important}
  .site-brand-text{font-size:15px!important}
  .customer-action-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .catalog-hero,.s2-hero,.dash-card,.v60-hero{border-radius:26px!important}
}
@media(max-width:620px){
  .customer-action-strip{grid-template-columns:1fr 1fr!important}
  .customer-action-card,.customer-action-strip a{min-height:56px!important;padding:12px!important}
  .customer-action-card span,.customer-action-strip a span{display:none!important}
}


/* Medical CSPLUS v63.0.1 Mobile Header & Customer Dashboard Fix */
@media(max-width:900px){
  body{overflow-x:hidden!important}
  .site-nav{height:auto!important;min-height:74px!important}
  .site-nav-inner{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:10px 14px!important;
    max-width:100%!important;
  }
  .site-actions.site-actions-desktop,
  .site-actions-desktop,
  .site-menu.desktop-only{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
  }
  .public-mobile-menu-btn{
    display:inline-flex!important;
    flex:0 0 54px!important;
    width:54px!important;
    height:54px!important;
  }
  .site-brand{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:calc(100% - 70px)!important;
  }
  .site-brand-mark{
    width:44px!important;
    height:44px!important;
    border-radius:16px!important;
    flex:0 0 44px!important;
  }
  .site-brand-text{
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  .dash-grid{
    display:block!important;
    max-width:100%!important;
    margin:0!important;
  }
  .dash-sidebar{
    margin:0 0 14px!important;
    padding:14px!important;
    border-radius:24px!important;
  }
  .dash-sidebar h2{
    font-size:24px!important;
    margin:0 0 12px!important;
  }
  .dash-sidebar a{
    display:flex!important;
    align-items:center!important;
    min-height:46px!important;
    padding:10px 14px!important;
    font-size:14px!important;
    border-radius:14px!important;
    margin:4px 0!important;
  }
  .dash-main{
    min-width:0!important;
  }
  .dash-card{
    padding:20px!important;
    border-radius:26px!important;
  }
  .dash-card h1{
    font-size:28px!important;
    line-height:1.1!important;
  }
  .dash-kpi-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:520px){
  .site-shell{padding-left:12px!important;padding-right:12px!important}
  .site-brand-text{font-size:14px!important}
  .dash-sidebar a:nth-of-type(n+7){
    display:none!important;
  }
  .dash-sidebar::after{
    content:'Menu lengkap tersedia dari tombol Akun / sidebar desktop';
    display:block;
    margin-top:8px;
    color:#64748b;
    font-size:12px;
    font-weight:800;
  }
}


/* Medical CSPLUS v63.1 Customer Dashboard polish */
.customer-v631 *{box-sizing:border-box}
.customer-v631 a{-webkit-tap-highlight-color:transparent}
@media(max-width:620px){
  .customer-v631-nav a i{display:none!important}
}


/* Medical CSPLUS v63.3 — Public Final Polish */
@media(max-width:900px){
  .site-actions.site-actions-desktop,
  .site-menu.desktop-only{display:none!important}
  .site-nav{z-index:1100!important}
}
.catalog-card,.s2-box,.dash-card,.v60-card{will-change:transform}


/* Medical CSPLUS v63.4 — PWA mobile notification CTA */
@media(max-width:900px){
  .customer-v631-pwa-cta.is-visible{display:block!important}
}
