:root{
  --bg:#020617;
  --bg2:#06142d;
  --blue:#1d9bff;
  --blue2:#2563eb;
  --cyan:#22d3ee;
  --purple:#8b5cf6;
  --purple2:#a855f7;
  --pink:#ec4899;
  --white:#f8fafc;
  --muted:#b8c4dc;
  --card:rgba(9,18,43,.68);
  --stroke:rgba(148,163,184,.2);
  --danger:#ef4444;
  --success:#22c55e;
  --warning:#f59e0b;
}

*{box-sizing:border-box;margin:0;padding:0}

body{
  min-height:100vh;
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--white);
  background:
    radial-gradient(circle at 74% 38%, rgba(37,99,235,.24), transparent 28%),
    radial-gradient(circle at 86% 82%, rgba(168,85,247,.26), transparent 25%),
    radial-gradient(circle at 9% 78%, rgba(29,155,255,.20), transparent 27%),
    linear-gradient(135deg,#020617 0%,#050b1d 43%,#020617 100%);
  overflow-x:hidden;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  background:
    linear-gradient(rgba(34,211,238,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34,211,238,.035) 1px, transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(circle at 58% 45%, black 16%, transparent 78%);
  z-index:0;
  pointer-events:none;
}

a{color:inherit}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}

.flash{
  position:fixed;
  z-index:9999;
  top:18px;
  right:18px;
  max-width:min(430px,calc(100vw - 36px));
  padding:14px 18px;
  border-radius:16px;
  background:rgba(15,23,42,.94);
  border:1px solid rgba(148,163,184,.24);
  color:white;
  box-shadow:0 18px 45px rgba(0,0,0,.35);
  animation:fadeOut 5.5s forwards;
}
.flash-success{border-color:rgba(34,197,94,.5)}
.flash-error{border-color:rgba(239,68,68,.55)}
.flash-info{border-color:rgba(34,211,238,.5)}
@keyframes fadeOut{0%,80%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-10px);pointer-events:none}}

.bg-network{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.85}.bg-network svg{width:100%;height:100%}
.page{position:relative;z-index:2;min-height:100vh;padding:22px clamp(18px,4.2vw,70px) 28px;display:flex;flex-direction:column;gap:22px}.topbar{height:78px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 24px;border-radius:22px;background:linear-gradient(180deg,rgba(8,18,42,.82),rgba(5,12,28,.62));border:1px solid rgba(96,165,250,.20);box-shadow:0 24px 65px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.07);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{width:52px;height:52px;flex:0 0 auto;filter:drop-shadow(0 0 18px rgba(29,155,255,.65))}.brand-title{font-size:22px;font-weight:900;letter-spacing:-.6px;white-space:nowrap}.brand-title span{background:linear-gradient(90deg,var(--blue),var(--purple2));-webkit-background-clip:text;background-clip:text;color:transparent}.top-actions{display:flex;gap:16px;align-items:center}.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 23px;border-radius:12px;color:white;text-decoration:none;font-size:15px;font-weight:800;border:1px solid rgba(148,163,184,.28);background:rgba(7,13,29,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:.25s ease;white-space:nowrap;cursor:pointer}.btn:hover{transform:translateY(-2px);border-color:rgba(34,211,238,.55)}.btn-primary{border:0;background:linear-gradient(135deg,#0ea5e9 0%,#2563eb 45%,#9333ea 100%);box-shadow:0 14px 34px rgba(37,99,235,.36),inset 0 1px 0 rgba(255,255,255,.18)}.btn-danger{background:linear-gradient(135deg,#ef4444,#b91c1c);border:0}.btn-success{background:linear-gradient(135deg,#22c55e,#15803d);border:0}.btn-small{min-height:36px;padding:0 12px;font-size:13px;border-radius:10px}.hero{flex:1;display:grid;grid-template-columns:minmax(430px,1fr) minmax(560px,770px);align-items:center;gap:26px;min-height:650px}.left{padding:18px 0 0 45px;max-width:690px}h1{font-size:clamp(54px,5.4vw,86px);line-height:1.02;letter-spacing:-4px;font-weight:900;margin-bottom:24px;text-shadow:0 8px 38px rgba(0,0,0,.3)}.blue-word{background:linear-gradient(90deg,#0ea5e9 0%,#3b82f6 62%,#60a5fa 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.purple-word{background:linear-gradient(90deg,#7c3aed 0%,#a855f7 54%,#d946ef 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.glow-underline{width:214px;height:4px;border-radius:99px;margin:0 0 28px;background:linear-gradient(90deg,transparent,#22d3ee,#8b5cf6,transparent);box-shadow:0 0 18px rgba(34,211,238,.7),0 0 24px rgba(139,92,246,.55)}.lead{color:#d3dbea;font-size:20px;line-height:1.72;max-width:650px;margin-bottom:34px;text-shadow:0 8px 26px rgba(0,0,0,.32)}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:6px}.hero-actions .btn{min-width:245px;height:70px;border-radius:999px;font-size:18px}.hero-actions .btn:not(.btn-primary){border-color:rgba(14,165,233,.75);background:rgba(3,8,23,.48);box-shadow:0 0 22px rgba(14,165,233,.11),inset 0 1px 0 rgba(255,255,255,.08)}.orbit-area{position:relative;min-height:650px;display:grid;place-items:center;overflow:visible}.orbit-shell{position:relative;width:670px;height:670px;display:grid;place-items:center;transform:translateX(-10px)}.orbit-shell::before{content:"";position:absolute;inset:68px;border-radius:50%;border:1px dashed rgba(37,99,235,.55);box-shadow:0 0 42px rgba(37,99,235,.14);animation:spin 28s linear infinite}.orbit-shell::after{content:"";position:absolute;inset:144px;border-radius:50%;border:1px dotted rgba(34,211,238,.28);box-shadow:0 0 48px rgba(34,211,238,.10);animation:spinReverse 34s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}.orbit-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:2;pointer-events:none}.ring-main{fill:none;stroke:url(#ringGradient);stroke-width:2.2;stroke-dasharray:12 10;opacity:.92;filter:url(#lineGlow);animation:dash 9s linear infinite}.ring-faint{fill:none;stroke:rgba(96,165,250,.22);stroke-width:1;stroke-dasharray:3 12;opacity:.85;animation:dash 18s linear infinite reverse}.line-core{stroke:url(#lineGradient);stroke-width:2.4;filter:url(#lineGlow);stroke-linecap:round;opacity:.97}.line-soft{stroke:rgba(96,165,250,.38);stroke-width:1.15;stroke-linecap:round;opacity:.95}.node-dot{fill:#a5f3fc;filter:url(#dotGlow)}.data-dot{fill:white;filter:url(#dotGlow)}@keyframes dash{to{stroke-dashoffset:-180}}.p1{animation:move1 5.2s linear infinite}.p2{animation:move2 5.2s linear infinite;animation-delay:-.8s}.p3{animation:move3 5.2s linear infinite;animation-delay:-1.6s}.p4{animation:move4 5.2s linear infinite;animation-delay:-2.4s}.p5{animation:move5 5.2s linear infinite;animation-delay:-3.2s}.p6{animation:move6 5.2s linear infinite;animation-delay:-4s}@keyframes move1{0%{transform:translate(335px,335px);opacity:0}15%,80%{opacity:1}100%{transform:translate(335px,73px);opacity:0}}@keyframes move2{0%{transform:translate(335px,335px);opacity:0}15%,80%{opacity:1}100%{transform:translate(520px,150px);opacity:0}}@keyframes move3{0%{transform:translate(335px,335px);opacity:0}15%,80%{opacity:1}100%{transform:translate(597px,335px);opacity:0}}@keyframes move4{0%{transform:translate(335px,335px);opacity:0}15%,80%{opacity:1}100%{transform:translate(335px,597px);opacity:0}}@keyframes move5{0%{transform:translate(335px,335px);opacity:0}15%,80%{opacity:1}100%{transform:translate(73px,335px);opacity:0}}@keyframes move6{0%{transform:translate(335px,335px);opacity:0}15%,80%{opacity:1}100%{transform:translate(150px,150px);opacity:0}}.center-orb{position:relative;z-index:5;width:264px;height:264px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;background:radial-gradient(circle at 38% 25%, rgba(255,255,255,.30), transparent 22%),radial-gradient(circle at 50% 40%, rgba(29,155,255,.35), rgba(14,27,57,.84) 56%, rgba(5,10,24,.92) 100%);border:1px solid rgba(219,234,254,.35);box-shadow:0 0 0 8px rgba(14,165,233,.10),0 0 0 18px rgba(37,99,235,.08),0 0 48px rgba(29,155,255,.50),inset 0 0 38px rgba(125,211,252,.22),inset 0 1px 0 rgba(255,255,255,.25);backdrop-filter:blur(18px)}.center-orb::before,.center-orb::after{content:"";position:absolute;border-radius:50%;pointer-events:none}.center-orb::before{inset:-14px;border:2px solid rgba(125,211,252,.55);box-shadow:0 0 22px rgba(34,211,238,.45)}.center-orb::after{inset:-28px;border:1px dotted rgba(34,211,238,.28);animation:spin 24s linear infinite}.bolt{font-size:44px;line-height:1;margin-bottom:10px;color:#7dd3fc;text-shadow:0 0 14px rgba(34,211,238,.95),0 0 32px rgba(37,99,235,.7)}.center-orb h2{font-size:25px;line-height:1.08;font-weight:900;letter-spacing:-.6px;margin-bottom:12px}.center-orb p{color:#d7e3f4;font-size:14px;line-height:1.45;max-width:210px}.product-node{--s:94px;position:absolute;z-index:6;width:var(--s);min-height:120px;left:50%;top:50%;margin-left:calc(var(--s) / -2);margin-top:-60px;transform:rotate(var(--a)) translate(262px) rotate(calc(var(--a) * -1));display:flex;flex-direction:column;align-items:center;gap:9px;text-decoration:none;color:white;transition:.25s ease}.product-node:hover{transform:rotate(var(--a)) translate(262px) rotate(calc(var(--a) * -1)) scale(1.06)}.badge{width:86px;height:86px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(15,23,42,.82),rgba(10,20,47,.68));border:1px solid rgba(147,197,253,.35);box-shadow:0 18px 40px rgba(0,0,0,.40),inset 0 1px 0 rgba(255,255,255,.15),0 0 20px rgba(37,99,235,.20);backdrop-filter:blur(16px);overflow:hidden;position:relative}.badge::after{content:"";position:absolute;inset:1px;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 45%);pointer-events:none}.node-icon{width:60px;height:60px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 12px 24px rgba(0,0,0,.22),0 0 18px rgba(34,211,238,.12);position:relative;z-index:1}.node-icon img{width:100%;height:100%;object-fit:cover;border-radius:17px}.node-label{font-size:17px;font-weight:800;line-height:1.08;text-align:center;text-shadow:0 6px 20px rgba(0,0,0,.65);max-width:115px}.n1{--a:-90deg;--c1:#f8fafc;--c2:#e0f2fe}.n2{--a:-45deg;--c1:#f8fafc;--c2:#e5e7eb}.n3{--a:0deg;--c1:#1d4ed8;--c2:#2563eb}.n4{--a:45deg;--c1:#7c3aed;--c2:#a855f7}.n5{--a:90deg;--c1:#14b8a6;--c2:#22c55e}.n6{--a:135deg;--c1:#0ea5e9;--c2:#1d4ed8}.n7{--a:180deg;--c1:#111827;--c2:#1e293b}.n8{--a:225deg;--c1:#16a34a;--c2:#059669}.node-icon svg{width:38px;height:38px;position:relative;z-index:2}.feature-wrap{position:relative;margin:0 20px;padding:18px 22px;border-radius:22px;background:linear-gradient(180deg,rgba(8,18,42,.70),rgba(5,12,28,.62));border:1px solid rgba(96,165,250,.17);box-shadow:0 25px 65px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.06)}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.feature{min-height:118px;border-radius:16px;padding:22px 22px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:rgba(15,23,42,.54);border:1px solid rgba(148,163,184,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}.feature-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#8b5cf6;background:rgba(88,28,135,.22);border:1px solid rgba(139,92,246,.4);box-shadow:0 0 28px rgba(139,92,246,.24)}.feature:nth-child(3) .feature-icon{color:#1d9bff;background:rgba(29,78,216,.18);border-color:rgba(29,155,255,.4)}.feature h3{font-size:18px;line-height:1.2;margin-bottom:8px}.feature p{color:#c5d0e3;font-size:14px;line-height:1.45}.arrow{font-size:26px;color:#e5eefc;opacity:.9}

/* Auth + Dashboard */
.auth-page,.app-page{position:relative;z-index:2;min-height:100vh;padding:28px}.auth-card,.glass-card{background:linear-gradient(180deg,rgba(8,18,42,.82),rgba(5,12,28,.68));border:1px solid rgba(96,165,250,.2);box-shadow:0 24px 65px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.07);backdrop-filter:blur(18px);border-radius:24px}.auth-card{width:min(480px,100%);margin:70px auto 0;padding:32px}.auth-card h1,.glass-card h1,.glass-card h2{font-size:30px;letter-spacing:-1px;margin-bottom:10px}.muted{color:var(--muted);line-height:1.65}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.form-group label{font-weight:800;font-size:14px;color:#dbeafe}.input,.select,.textarea{width:100%;border:1px solid rgba(148,163,184,.24);background:rgba(15,23,42,.62);color:white;border-radius:14px;padding:13px 14px;outline:none}.textarea{min-height:110px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:rgba(34,211,238,.65);box-shadow:0 0 0 4px rgba(34,211,238,.08)}.helper{font-size:13px;color:var(--muted)}.app-shell{display:grid;grid-template-columns:260px 1fr;gap:22px}.sidebar{position:sticky;top:28px;height:calc(100vh - 56px);padding:22px}.side-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.side-brand .brand-logo{width:42px;height:42px}.side-brand b{font-size:17px}.nav-list{display:grid;gap:8px}.nav-list a{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-radius:14px;text-decoration:none;color:#dbeafe;font-weight:800;border:1px solid transparent}.nav-list a:hover,.nav-list a.active{background:rgba(37,99,235,.16);border-color:rgba(96,165,250,.24)}.main-content{min-width:0}.dash-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.dash-title h1{font-size:34px;letter-spacing:-1.2px}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat-card{padding:20px;border-radius:20px;background:rgba(15,23,42,.56);border:1px solid rgba(148,163,184,.18)}.stat-card span{color:var(--muted);font-size:13px;font-weight:800}.stat-card strong{display:block;font-size:30px;margin-top:8px}.table-wrap{overflow:auto;border-radius:18px;border:1px solid rgba(148,163,184,.16)}table{width:100%;border-collapse:collapse;min-width:760px;background:rgba(15,23,42,.36)}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid rgba(148,163,184,.12);vertical-align:top}th{font-size:13px;color:#bfdbfe;text-transform:uppercase;letter-spacing:.04em}td{color:#e5edf9}.badge-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;border:1px solid rgba(148,163,184,.22);background:rgba(15,23,42,.68)}.status-approved,.status-active,.status-paid{border-color:rgba(34,197,94,.35);color:#86efac}.status-pending{border-color:rgba(245,158,11,.45);color:#facc15}.status-blocked,.status-cancelled,.status-inactive{border-color:rgba(239,68,68,.42);color:#fca5a5}.product-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-card{padding:18px;border-radius:20px;background:rgba(15,23,42,.54);border:1px solid rgba(148,163,184,.16)}.product-thumb{width:76px;height:76px;border-radius:20px;background:linear-gradient(135deg,#2563eb,#8b5cf6);display:grid;place-items:center;overflow:hidden;margin-bottom:14px}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-card h3{margin-bottom:8px}.copy-box{display:flex;gap:8px;margin-top:12px}.copy-box input{flex:1}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.actions-inline{display:flex;gap:8px;flex-wrap:wrap}.section{padding:22px;margin-bottom:20px}.product-landing{position:relative;z-index:2;min-height:100vh;padding:26px clamp(18px,5vw,76px)}.product-hero{display:grid;grid-template-columns:1fr 430px;gap:28px;align-items:center;min-height:calc(100vh - 70px)}.product-visual{padding:24px}.product-image{border-radius:28px;width:100%;aspect-ratio:1/1;object-fit:cover;background:linear-gradient(135deg,#2563eb,#8b5cf6)}.price{font-size:40px;font-weight:900;margin:14px 0}.lead-form{padding:24px}.mini-logo{width:74px;height:74px;border-radius:20px;object-fit:cover;background:linear-gradient(135deg,#2563eb,#8b5cf6);margin-bottom:16px}

@media (max-width:1240px){.hero{grid-template-columns:1fr;gap:0;text-align:center}.left{padding:30px 0 0;max-width:820px;margin:0 auto}.lead{margin-left:auto;margin-right:auto}.glow-underline{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.orbit-area{min-height:670px}.feature-grid{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)}.product-card-grid{grid-template-columns:repeat(2,1fr)}.product-hero{grid-template-columns:1fr}}
@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;top:auto;height:auto}.dash-top{flex-direction:column}.two-col,.form-grid{grid-template-columns:1fr}}
@media (max-width:760px){
  .page{padding:14px;gap:16px}
  .topbar{height:auto;padding:14px;border-radius:18px}
  .brand-logo{width:44px;height:44px}
  .brand-title{font-size:16px;white-space:normal;line-height:1.1}
  .top-actions .btn:first-child{display:none}
  .top-actions .btn{padding:0 14px;min-height:42px;border-radius:12px;font-size:13px}
  h1{font-size:clamp(44px,14vw,68px);letter-spacing:-2.5px}
  .lead{font-size:16px}
  .hero-actions .btn{width:100%;min-width:0;height:58px;font-size:16px}
  .hero{min-height:auto}
  .left{padding-top:14px}

  /* Mobile ikut orbit desktop, bukan grid */
  .orbit-area{min-height:470px;overflow:visible;padding:6px 0 18px}
  .orbit-shell{
    --orbit-size-mobile:min(96vw,430px);
    --orbit-radius-mobile:min(37.5vw,168px);
    width:var(--orbit-size-mobile);
    height:var(--orbit-size-mobile);
    min-height:var(--orbit-size-mobile);
    display:grid;
    place-items:center;
    grid-template-columns:none;
    gap:0;
    padding:0;
    border-radius:50%;
    background:transparent;
    border:0;
    transform:none;
    margin:12px auto 26px;
  }
  .orbit-shell::before{display:block;inset:38px}
  .orbit-shell::after{display:block;inset:90px}
  .orbit-svg{display:block;inset:0;width:100%;height:100%}
  .center-orb{
    position:relative;
    grid-column:auto;
    width:165px;
    height:165px;
    min-height:0;
    border-radius:50%;
    padding:15px;
  }
  .center-orb::before{display:block;inset:-8px}
  .center-orb::after{display:block;inset:-17px}
  .bolt{font-size:28px;margin-bottom:6px}
  .center-orb h2{font-size:16px;margin-bottom:7px}
  .center-orb p{font-size:10px;line-height:1.35}
  .product-node,
  .product-node:hover{
    --s:58px;
    position:absolute;
    left:50%;
    top:50%;
    width:var(--s);
    min-height:84px;
    margin-left:calc(var(--s) / -2);
    margin-top:-42px;
    transform:rotate(var(--a)) translate(var(--orbit-radius-mobile)) rotate(calc(var(--a) * -1));
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
  }
  .badge{width:56px;height:56px;border-radius:15px}
  .node-icon{width:40px;height:40px;border-radius:12px}
  .node-icon img{border-radius:12px}
  .node-icon svg{width:25px;height:25px}
  .n1 .node-icon strong{font-size:23px!important}
  .node-label{
    font-size:10px;
    max-width:74px;
    line-height:1.08;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .feature-wrap{margin:0;padding:14px;border-radius:18px}
  .feature-grid{grid-template-columns:1fr;gap:12px}
  .feature{padding:18px;grid-template-columns:auto 1fr auto}
  .auth-page,.app-page,.product-landing{padding:14px}
  .auth-card{margin:20px auto 0;padding:22px}
  .card-grid,.product-card-grid{grid-template-columns:1fr}
  .product-hero{display:block}
  .product-visual,.lead-form{margin-top:16px}
}

/* ==========================================================
   UPDATE: Mobile Orbit Mode
   Paparan mobile kekal dalam bentuk orbit seperti desktop,
   bukan lagi grid. Diletakkan di hujung fail untuk override
   responsive rule lama.
   ========================================================== */
@media (max-width:760px){
  .orbit-area{
    min-height:470px !important;
    overflow:visible !important;
    padding:6px 0 18px !important;
  }

  .orbit-shell{
    --orbit-size-mobile:min(96vw,430px);
    --orbit-radius-mobile:min(37.5vw,168px);
    width:var(--orbit-size-mobile) !important;
    height:var(--orbit-size-mobile) !important;
    min-height:var(--orbit-size-mobile) !important;
    display:grid !important;
    place-items:center !important;
    grid-template-columns:none !important;
    gap:0 !important;
    padding:0 !important;
    border-radius:50% !important;
    background:transparent !important;
    border:0 !important;
    transform:none !important;
    margin:12px auto 26px !important;
  }

  .orbit-shell::before{
    display:block !important;
    inset:38px !important;
  }

  .orbit-shell::after{
    display:block !important;
    inset:90px !important;
  }

  .orbit-svg{
    display:block !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
  }

  .center-orb{
    position:relative !important;
    grid-column:auto !important;
    width:165px !important;
    height:165px !important;
    min-height:0 !important;
    border-radius:50% !important;
    padding:15px !important;
  }

  .center-orb::before{
    display:block !important;
    inset:-8px !important;
  }

  .center-orb::after{
    display:block !important;
    inset:-17px !important;
  }

  .bolt{
    font-size:28px !important;
    margin-bottom:6px !important;
  }

  .center-orb h2{
    font-size:16px !important;
    margin-bottom:7px !important;
  }

  .center-orb p{
    font-size:10px !important;
    line-height:1.35 !important;
  }

  .product-node,
  .product-node:hover{
    --s:58px;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    width:var(--s) !important;
    min-height:84px !important;
    margin-left:calc(var(--s) / -2) !important;
    margin-top:-42px !important;
    transform:rotate(var(--a)) translate(var(--orbit-radius-mobile)) rotate(calc(var(--a) * -1)) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:6px !important;
  }

  .badge{
    width:56px !important;
    height:56px !important;
    border-radius:15px !important;
  }

  .node-icon{
    width:40px !important;
    height:40px !important;
    border-radius:12px !important;
  }

  .node-icon img{
    border-radius:12px !important;
  }

  .node-icon svg{
    width:25px !important;
    height:25px !important;
  }

  .n1 .node-icon strong{
    font-size:23px !important;
  }

  .node-label{
    font-size:10px !important;
    max-width:74px !important;
    line-height:1.08 !important;
  }

  .feature-wrap{
    margin:0 !important;
    padding:14px !important;
    border-radius:18px !important;
  }

  .feature-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
}

/* Extra kecil: orbit dikecilkan lagi supaya tidak terkeluar frame telefon kecil */
@media (max-width:390px){
  .orbit-shell{
    --orbit-size-mobile:min(96vw,380px);
    --orbit-radius-mobile:min(36vw,143px);
  }

  .center-orb{
    width:145px !important;
    height:145px !important;
  }

  .product-node,
  .product-node:hover{
    --s:52px;
    margin-top:-38px !important;
  }

  .badge{
    width:50px !important;
    height:50px !important;
  }

  .node-icon{
    width:36px !important;
    height:36px !important;
  }

  .node-label{
    font-size:9px !important;
    max-width:66px !important;
  }
}

/* ==========================================================
   FIX V2: Mobile orbit wajib ikut paparan desktop.
   Ini override terakhir dan lebih kuat untuk elak mobile bertukar grid.
   ========================================================== */
@media (max-width:760px){
  body .page .orbit-area{
    min-height:470px !important;
    overflow:visible !important;
    padding:6px 0 18px !important;
  }

  body .page .orbit-shell{
    --orbit-size-mobile:min(96vw,430px) !important;
    --orbit-radius-mobile:min(37.5vw,168px) !important;
    position:relative !important;
    width:var(--orbit-size-mobile) !important;
    height:var(--orbit-size-mobile) !important;
    min-height:var(--orbit-size-mobile) !important;
    max-width:430px !important;
    max-height:430px !important;
    display:grid !important;
    place-items:center !important;
    grid-template-columns:none !important;
    gap:0 !important;
    padding:0 !important;
    border-radius:50% !important;
    background:transparent !important;
    border:0 !important;
    transform:none !important;
    margin:12px auto 26px !important;
  }

  body .page .orbit-shell::before{
    display:block !important;
    inset:38px !important;
  }

  body .page .orbit-shell::after{
    display:block !important;
    inset:90px !important;
  }

  body .page .orbit-svg{
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
  }

  body .page .center-orb{
    position:relative !important;
    grid-column:auto !important;
    width:165px !important;
    height:165px !important;
    min-height:0 !important;
    border-radius:50% !important;
    padding:15px !important;
  }

  body .page .center-orb::before{
    display:block !important;
    inset:-8px !important;
  }

  body .page .center-orb::after{
    display:block !important;
    inset:-17px !important;
  }

  body .page .bolt{
    font-size:28px !important;
    margin-bottom:6px !important;
  }

  body .page .center-orb h2{
    font-size:16px !important;
    margin-bottom:7px !important;
  }

  body .page .center-orb p{
    font-size:10px !important;
    line-height:1.35 !important;
  }

  body .page .product-node,
  body .page .product-node:hover{
    --s:58px !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    width:var(--s) !important;
    min-height:84px !important;
    margin-left:calc(var(--s) / -2) !important;
    margin-top:-42px !important;
    transform:rotate(var(--a)) translate(var(--orbit-radius-mobile)) rotate(calc(var(--a) * -1)) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:6px !important;
  }

  body .page .badge{
    width:56px !important;
    height:56px !important;
    border-radius:15px !important;
  }

  body .page .node-icon{
    width:40px !important;
    height:40px !important;
    border-radius:12px !important;
  }

  body .page .node-icon img{
    border-radius:12px !important;
  }

  body .page .node-icon svg{
    width:25px !important;
    height:25px !important;
  }

  body .page .node-label{
    font-size:10px !important;
    max-width:74px !important;
    line-height:1.08 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }
}

@media (max-width:390px){
  body .page .orbit-shell{
    --orbit-size-mobile:min(96vw,380px) !important;
    --orbit-radius-mobile:min(36vw,143px) !important;
  }

  body .page .center-orb{
    width:145px !important;
    height:145px !important;
  }

  body .page .product-node,
  body .page .product-node:hover{
    --s:52px !important;
    margin-top:-38px !important;
  }

  body .page .badge{
    width:50px !important;
    height:50px !important;
  }

  body .page .node-icon{
    width:36px !important;
    height:36px !important;
  }

  body .page .node-label{
    font-size:9px !important;
    max-width:66px !important;
  }
}



/* Admin-only add product slot */
.product-node-locked{cursor:default;pointer-events:none;opacity:.72;filter:grayscale(.25)}
.product-node-locked .badge{border-color:rgba(148,163,184,.22);box-shadow:0 12px 30px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.1)}
.product-node-locked .node-icon{background:linear-gradient(135deg,rgba(148,163,184,.35),rgba(71,85,105,.52))!important;color:#e2e8f0}
.product-node-locked:hover{transform:rotate(var(--a)) translate(262px) rotate(calc(var(--a) * -1))!important;opacity:.8}

@media (max-width:760px){.product-node-locked:hover{transform:rotate(var(--a)) translate(var(--orbit-radius-mobile)) rotate(calc(var(--a) * -1))!important}}


/* ==========================================================
   UPDATE V4: Browser ringan + popup produk
   - Animasi dikekalkan pada orbit sahaja
   - Pulse dot berat dimatikan
   - Klik logo produk buka popup dahulu
   ========================================================== */
.bg-network{opacity:.45}
.data-dot{display:none!important;animation:none!important}
.feature,.topbar,.badge,.center-orb{backdrop-filter:none}
.feature{transition:none}
.btn{transition:border-color .18s ease, background .18s ease}
.btn:hover{transform:none}
.product-node{cursor:pointer}
.product-node:hover .badge{border-color:rgba(34,211,238,.55);box-shadow:0 0 24px rgba(34,211,238,.20),0 14px 35px rgba(0,0,0,.36)}

.product-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.product-modal.is-open{display:flex}
.product-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,6,23,.78);
}
.product-modal-card{
  position:relative;
  z-index:1;
  width:min(480px,100%);
  border-radius:28px;
  padding:24px;
  background:linear-gradient(180deg,rgba(9,18,43,.96),rgba(3,7,18,.96));
  border:1px solid rgba(125,211,252,.28);
  box-shadow:0 28px 90px rgba(0,0,0,.55),0 0 45px rgba(37,99,235,.18);
  color:white;
}
.product-modal-close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:white;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.product-modal-head{
  display:flex;
  align-items:center;
  gap:16px;
  padding-right:34px;
  margin-bottom:18px;
}
.product-modal-logo{
  width:74px;
  height:74px;
  border-radius:22px;
  display:grid;
  place-items:center;
  overflow:hidden;
  flex:0 0 auto;
  background:linear-gradient(135deg,#2563eb,#8b5cf6);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 12px 28px rgba(0,0,0,.26);
}
.product-modal-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.product-modal-logo.is-empty::before{
  content:'⚡';
  font-size:30px;
  color:white;
}
.product-modal-kicker{
  display:inline-flex;
  margin-bottom:7px;
  font-size:12px;
  font-weight:900;
  color:#7dd3fc;
  letter-spacing:.5px;
  text-transform:uppercase;
}
.product-modal-card h2{
  font-size:27px;
  line-height:1.1;
  letter-spacing:-.8px;
}
.product-modal-desc{
  color:#d3dbea;
  font-size:15px;
  line-height:1.65;
  margin-bottom:18px;
  white-space:pre-line;
}
.product-modal-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:18px;
}
.product-modal-meta div{
  padding:14px;
  border-radius:18px;
  background:rgba(15,23,42,.74);
  border:1px solid rgba(148,163,184,.16);
}
.product-modal-meta small{
  display:block;
  color:#9fb0cf;
  font-size:12px;
  font-weight:800;
  margin-bottom:5px;
}
.product-modal-meta b{
  font-size:18px;
}
.product-modal-btn{
  width:100%;
  min-height:56px;
  border-radius:999px;
}
body.modal-open{overflow:hidden}

@media (max-width:760px){
  .bg-network{opacity:.28}
  .line-core,.node-dot{filter:none!important}
  .ring-main{filter:none!important;animation:dash 16s linear infinite!important}
  .ring-faint{animation:none!important}
  .orbit-shell::before{animation:spin 38s linear infinite!important;box-shadow:none!important}
  .orbit-shell::after{animation:spinReverse 46s linear infinite!important;box-shadow:none!important}
  .center-orb{box-shadow:0 0 0 6px rgba(14,165,233,.08),0 0 22px rgba(29,155,255,.30),inset 0 0 22px rgba(125,211,252,.14)!important}
  .center-orb::after{animation:spin 36s linear infinite!important}
  .product-modal-card{border-radius:24px;padding:20px}
  .product-modal-head{gap:12px}
  .product-modal-logo{width:62px;height:62px;border-radius:18px}
  .product-modal-card h2{font-size:22px}
  .product-modal-desc{font-size:14px}
  .product-modal-meta{grid-template-columns:1fr}
}

/* ==========================================================
   SMART AFFILIATE GATEWAY V1
   Page utama tidak berserabut: orbit menunjukkan kategori/laluan,
   produk penuh hanya muncul dalam popup pilihan.
   ========================================================== */
.gateway-page{gap:18px}.gateway-hero{flex:1;display:grid;grid-template-columns:minmax(430px,1fr) minmax(520px,720px);align-items:center;gap:26px;min-height:660px}.gateway-left{padding:18px 0 0 45px;max-width:760px}.gateway-kicker{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:rgba(14,165,233,.10);border:1px solid rgba(125,211,252,.22);color:#dbeafe;font-size:13px;font-weight:900;letter-spacing:.4px;text-transform:uppercase;margin-bottom:18px}.gateway-kicker span{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 8px rgba(34,197,94,.13)}.gateway-left h1{font-size:clamp(48px,5.2vw,78px);line-height:1.03;letter-spacing:-3.5px;margin-bottom:22px}.gateway-left h1 .blue-word{display:inline}.gateway-lead{max-width:700px}.gateway-actions .btn{min-width:260px}.trust-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:640px;margin-top:26px}.trust-strip div{padding:16px 18px;border-radius:18px;background:rgba(15,23,42,.54);border:1px solid rgba(148,163,184,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.trust-strip b{display:block;font-size:24px;line-height:1;margin-bottom:5px}.trust-strip span{color:#aebbd1;font-size:13px;font-weight:800}.gateway-orbit-area{position:relative;min-height:650px;display:grid;place-items:center;overflow:visible}.gateway-orbit-shell{--gateway-orbit-size:670px;--gateway-orbit-radius:262px;position:relative;width:var(--gateway-orbit-size);height:var(--gateway-orbit-size);display:grid;place-items:center;transform:translateX(-10px)}.gateway-orbit-shell::before,.gateway-orbit-shell::after{content:"";position:absolute;border-radius:50%;pointer-events:none}.gateway-orbit-shell::before{inset:68px;border:1px dashed rgba(37,99,235,.55);box-shadow:0 0 32px rgba(37,99,235,.12);animation:spin 38s linear infinite}.gateway-orbit-shell::after{inset:144px;border:1px dotted rgba(34,211,238,.28);animation:spinReverse 48s linear infinite}.gateway-orbit-svg{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}.gateway-ring-main{fill:none;stroke:url(#gatewayRingGradient);stroke-width:2;stroke-dasharray:12 10;opacity:.88;filter:url(#gatewayLineGlow);animation:dash 15s linear infinite}.gateway-ring-faint{fill:none;stroke:rgba(96,165,250,.2);stroke-width:1;stroke-dasharray:3 12;opacity:.75}.gateway-line-core{stroke:url(#gatewayLineGradient);stroke-width:2.1;filter:url(#gatewayLineGlow);stroke-linecap:round;opacity:.82}.gateway-line-soft{stroke:rgba(96,165,250,.28);stroke-width:1.1;stroke-linecap:round;opacity:.88}.gateway-node-dot{fill:#a5f3fc;filter:url(#gatewayDotGlow)}.gateway-center{position:relative;z-index:5;width:250px;height:250px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;background:radial-gradient(circle at 38% 25%, rgba(255,255,255,.24), transparent 22%),radial-gradient(circle at 50% 40%, rgba(29,155,255,.28), rgba(14,27,57,.84) 56%, rgba(5,10,24,.92) 100%);border:1px solid rgba(219,234,254,.34);box-shadow:0 0 0 8px rgba(14,165,233,.08),0 0 42px rgba(29,155,255,.34),inset 0 0 32px rgba(125,211,252,.14)}.gateway-center::before{content:"";position:absolute;inset:-14px;border-radius:50%;border:2px solid rgba(125,211,252,.42);box-shadow:0 0 18px rgba(34,211,238,.34)}.gateway-center::after{content:"";position:absolute;inset:-27px;border-radius:50%;border:1px dotted rgba(34,211,238,.25);animation:spin 36s linear infinite}.gateway-center .bolt{position:relative;z-index:2}.gateway-center h2{position:relative;z-index:2;font-size:24px;line-height:1.08;font-weight:900;letter-spacing:-.6px;margin:0 0 11px}.gateway-center p{position:relative;z-index:2;color:#d7e3f4;font-size:13px;line-height:1.45;max-width:205px}.gateway-node{--s:100px;position:absolute;z-index:6;width:var(--s);min-height:126px;left:50%;top:50%;margin-left:calc(var(--s) / -2);margin-top:-64px;transform:rotate(var(--a)) translate(var(--gateway-orbit-radius)) rotate(calc(var(--a) * -1));display:flex;flex-direction:column;align-items:center;gap:9px;text-decoration:none;color:white;background:transparent;border:0;cursor:pointer;font-family:inherit}.gateway-node:hover .gateway-badge{border-color:rgba(34,211,238,.62);box-shadow:0 0 26px rgba(34,211,238,.22),0 15px 38px rgba(0,0,0,.36)}.gateway-badge{width:88px;height:88px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(15,23,42,.82),rgba(10,20,47,.68));border:1px solid rgba(147,197,253,.35);box-shadow:0 18px 40px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.14);position:relative;overflow:hidden}.gateway-badge::after{content:"";position:absolute;inset:1px;border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 45%);pointer-events:none}.gateway-node-icon{position:relative;z-index:1;width:62px;height:62px;border-radius:18px;display:grid;place-items:center;text-align:center;font-weight:900;font-size:18px;line-height:1;background:linear-gradient(135deg,var(--gc1,#2563eb),var(--gc2,#8b5cf6));box-shadow:0 12px 24px rgba(0,0,0,.22)}.gateway-node-label{font-size:16px;font-weight:900;line-height:1.08;text-align:center;text-shadow:0 6px 20px rgba(0,0,0,.65);max-width:120px}.g1{--a:-90deg;--gc1:#0ea5e9;--gc2:#2563eb}.g2{--a:-45deg;--gc1:#f8fafc;--gc2:#dbeafe}.g2 .gateway-node-icon{color:#1d4ed8}.g3{--a:0deg;--gc1:#22c55e;--gc2:#14b8a6}.g4{--a:45deg;--gc1:#f59e0b;--gc2:#ef4444}.g5{--a:90deg;--gc1:#8b5cf6;--gc2:#ec4899}.g6{--a:135deg;--gc1:#2563eb;--gc2:#7c3aed}.g7{--a:180deg;--gc1:#111827;--gc2:#334155}.g8{--a:225deg;--gc1:#06b6d4;--gc2:#8b5cf6}.gateway-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 20px 6px}.step-card{padding:22px;border-radius:22px;background:linear-gradient(180deg,rgba(8,18,42,.66),rgba(5,12,28,.56));border:1px solid rgba(96,165,250,.17);box-shadow:0 18px 42px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.06)}.step-card span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(14,165,233,.12);border:1px solid rgba(125,211,252,.25);color:#7dd3fc;font-weight:900;margin-bottom:13px}.step-card h3{font-size:20px;margin-bottom:7px}.step-card p{color:#b8c4dc;line-height:1.55}.gateway-modal{position:fixed;inset:0;z-index:9000;display:none;align-items:center;justify-content:center;padding:18px}.gateway-modal.is-open{display:flex}.gateway-modal-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.78)}.gateway-modal-card{position:relative;z-index:1;width:min(820px,100%);max-height:min(82vh,780px);overflow:auto;border-radius:28px;padding:24px;background:linear-gradient(180deg,rgba(9,18,43,.97),rgba(3,7,18,.97));border:1px solid rgba(125,211,252,.28);box-shadow:0 28px 90px rgba(0,0,0,.55),0 0 45px rgba(37,99,235,.18);color:white}.gateway-guide-card{width:min(620px,100%)}.gateway-modal-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:white;font-size:25px;line-height:1;cursor:pointer}.gateway-modal-card h2{font-size:30px;line-height:1.1;letter-spacing:-.8px;margin:4px 44px 10px 0}.gateway-modal-desc{color:#d3dbea;font-size:15px;line-height:1.65;margin-bottom:18px}.gateway-product-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gateway-product-card{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:15px;border-radius:20px;background:rgba(15,23,42,.68);border:1px solid rgba(148,163,184,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.gateway-product-logo{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,var(--pc1,#2563eb),var(--pc2,#8b5cf6));box-shadow:0 12px 26px rgba(0,0,0,.24);font-weight:900}.gateway-product-logo img{width:100%;height:100%;object-fit:cover}.gateway-product-card h3{font-size:17px;line-height:1.16;margin:1px 0 5px}.gateway-product-card p{color:#c7d2e4;font-size:13px;line-height:1.45;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gateway-product-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:11px}.gateway-product-meta span{font-size:12px;font-weight:800;color:#dbeafe;background:rgba(14,165,233,.11);border:1px solid rgba(125,211,252,.18);border-radius:999px;padding:6px 9px}.gateway-product-actions{display:flex;gap:8px;flex-wrap:wrap}.gateway-product-actions .btn{min-height:38px;border-radius:999px;padding:0 13px;font-size:12px}.guide-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.guide-choice-grid button{padding:16px;border-radius:18px;border:1px solid rgba(125,211,252,.22);background:rgba(15,23,42,.72);color:white;text-align:left;font-weight:900;line-height:1.3;cursor:pointer}.guide-choice-grid button:hover{border-color:rgba(34,211,238,.6)}body.gateway-open{overflow:hidden}

@media (max-width:1240px){.gateway-hero{grid-template-columns:1fr;text-align:center;min-height:auto}.gateway-left{padding:28px 0 0;margin:0 auto}.gateway-actions{justify-content:center}.trust-strip{margin-left:auto;margin-right:auto}.gateway-orbit-area{min-height:670px}.gateway-orbit-shell{transform:none}}
@media (max-width:760px){.gateway-left{padding-top:10px}.gateway-left h1{font-size:clamp(38px,11.5vw,56px);letter-spacing:-2.3px}.gateway-kicker{font-size:11px}.gateway-lead{font-size:15px}.gateway-actions .btn{width:100%;min-width:0}.trust-strip{grid-template-columns:1fr;gap:9px}.trust-strip div{padding:13px 15px}.gateway-orbit-area{min-height:470px;padding:4px 0 14px}.gateway-orbit-shell{--gateway-orbit-size:min(96vw,430px);--gateway-orbit-radius:min(37.5vw,168px);width:var(--gateway-orbit-size);height:var(--gateway-orbit-size);margin:8px auto 22px}.gateway-orbit-shell::before{inset:38px}.gateway-orbit-shell::after{inset:90px}.gateway-center{width:158px;height:158px;padding:15px}.gateway-center::before{inset:-8px}.gateway-center::after{inset:-17px}.gateway-center .bolt{font-size:26px;margin-bottom:5px}.gateway-center h2{font-size:15px;margin-bottom:6px}.gateway-center p{font-size:9.7px;line-height:1.35}.gateway-node{--s:58px;width:var(--s);min-height:84px;margin-left:calc(var(--s) / -2);margin-top:-42px;gap:6px;transform:rotate(var(--a)) translate(var(--gateway-orbit-radius)) rotate(calc(var(--a) * -1))}.gateway-badge{width:56px;height:56px;border-radius:15px}.gateway-node-icon{width:40px;height:40px;border-radius:12px;font-size:12px}.gateway-node-label{font-size:9.6px;max-width:74px;line-height:1.08;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gateway-steps{grid-template-columns:1fr;margin:0;gap:11px}.step-card{padding:18px}.gateway-product-list{grid-template-columns:1fr}.gateway-modal-card{border-radius:23px;padding:20px}.gateway-modal-card h2{font-size:24px}.guide-choice-grid{grid-template-columns:1fr}.gateway-line-core,.gateway-node-dot,.gateway-ring-main{filter:none!important}.gateway-ring-main{animation:dash 22s linear infinite}.gateway-orbit-shell::before{animation:spin 46s linear infinite}.gateway-orbit-shell::after{animation:spinReverse 58s linear infinite}}
@media (max-width:390px){.gateway-orbit-shell{--gateway-orbit-size:min(96vw,380px);--gateway-orbit-radius:min(36vw,143px)}.gateway-center{width:140px;height:140px}.gateway-node{--s:52px;margin-top:-38px}.gateway-badge{width:50px;height:50px}.gateway-node-icon{width:36px;height:36px}.gateway-node-label{font-size:8.8px;max-width:66px}.gateway-center h2{font-size:14px}.gateway-center p{font-size:9px}}

/* =========================================================
   Wardrobe NieyzallFNJ
   ========================================================= */
.wardrobe-page{
  position:relative;
  z-index:2;
  min-height:100vh;
  padding:22px clamp(16px,4vw,70px) 34px;
  color:var(--white);
}
.wardrobe-topbar{margin-bottom:28px}
.wardrobe-hero{
  min-height:520px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,560px);
  align-items:center;
  gap:34px;
}
.wardrobe-copy{max-width:760px}
.wardrobe-copy h1{
  font-size:clamp(44px,5.2vw,78px);
  line-height:1.02;
  letter-spacing:-3.5px;
  margin-bottom:22px;
}
.wardrobe-preview{display:grid;place-items:center;min-height:430px}
.wardrobe-section{margin-top:20px}
.section-head{text-align:center;max-width:760px;margin:0 auto 28px}
.section-head h2{font-size:clamp(28px,3vw,46px);margin:8px 0 10px;letter-spacing:-1.4px}
.wardrobe-stage{max-width:1180px;margin:0 auto}
.wardrobe-cabinet{
  position:relative;
  border-radius:34px;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(88,28,135,.32),rgba(15,23,42,.88) 45%,rgba(2,6,23,.96));
  border:1px solid rgba(147,197,253,.22);
  box-shadow:0 30px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.08), 0 0 58px rgba(124,58,237,.16);
}
.cabinet-top{
  height:78px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#e0f2fe;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  background:linear-gradient(90deg,rgba(14,165,233,.20),rgba(124,58,237,.24),rgba(14,165,233,.20));
  border-bottom:1px solid rgba(255,255,255,.11);
}
.cabinet-body{position:relative;min-height:620px;padding:84px 36px 38px}
.cabinet-door{
  position:absolute;
  top:0;bottom:0;width:50%;
  background:linear-gradient(90deg,rgba(255,255,255,.035),transparent 28%,rgba(255,255,255,.035));
  pointer-events:none;
}
.left-door{left:0;border-right:1px solid rgba(255,255,255,.10)}
.right-door{right:0;border-left:1px solid rgba(255,255,255,.06)}
.hanger-line{
  position:absolute;
  top:58px;left:8%;right:8%;height:5px;border-radius:999px;
  background:linear-gradient(90deg,transparent,#7dd3fc,#a78bfa,transparent);
  box-shadow:0 0 20px rgba(34,211,238,.45);
}
.tshirt-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
.tshirt-card{
  appearance:none;
  border:0;
  color:white;
  cursor:pointer;
  min-height:260px;
  padding:18px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  border-radius:28px;
  background:rgba(15,23,42,.55);
  border:1px solid rgba(148,163,184,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 18px 44px rgba(0,0,0,.22);
  transition:.24s ease;
}
.tshirt-card:hover{transform:translateY(-6px);border-color:rgba(34,211,238,.55);box-shadow:0 24px 60px rgba(0,0,0,.34),0 0 28px rgba(34,211,238,.14)}
.hanger{
  width:54px;height:28px;border:3px solid rgba(226,232,240,.78);border-bottom:0;border-radius:50% 50% 0 0;position:relative;margin-bottom:-8px;
}
.hanger:before{content:"";position:absolute;left:50%;top:-15px;width:2px;height:15px;background:rgba(226,232,240,.82)}
.shirt-shape{
  position:relative;
  width:145px;
  height:150px;
  display:grid;
  place-items:center;
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.32));
}
.shirt-shape:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(145deg,var(--shirt),#111827 78%);
  clip-path:polygon(24% 8%,39% 0,61% 0,76% 8%,96% 26%,82% 44%,75% 35%,75% 100%,25% 100%,25% 35%,18% 44%,4% 26%);
  border-radius:18px;
  box-shadow:inset 0 0 28px rgba(255,255,255,.10), inset 0 -20px 30px rgba(0,0,0,.24);
}
.shirt-shape img{
  position:relative;z-index:2;width:80%;height:80%;object-fit:cover;border-radius:18px;mix-blend-mode:screen;opacity:.9;
}
.tshirt-card b{font-size:16px;line-height:1.2;text-align:center}
.tshirt-card small{color:#bfdbfe;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.mini-cabinet{width:min(90vw,430px)}
.mini-cabinet .cabinet-body{min-height:320px;padding:82px 30px 30px}
.mini-shirts{position:relative;z-index:2;display:flex;justify-content:center;gap:18px;align-items:flex-start}
.mini-shirts span{width:82px;height:94px;background:linear-gradient(145deg,var(--shirt),#111827 78%);clip-path:polygon(24% 8%,39% 0,61% 0,76% 8%,96% 26%,82% 44%,75% 35%,75% 100%,25% 100%,25% 35%,18% 44%,4% 26%);filter:drop-shadow(0 16px 20px rgba(0,0,0,.35));animation:shirtFloat 4.5s ease-in-out infinite}
.mini-shirts span:nth-child(2){animation-delay:-1.2s}.mini-shirts span:nth-child(3){animation-delay:-2.2s}

/* Wardrobe: dummy T-shirt warna auto hilang bila admin upload gambar sebenar */
.tshirt-card.has-image .shirt-shape:before{
  display:none;
}
.tshirt-card.has-image .shirt-shape{
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.32));
}
.tshirt-card.has-image .shirt-shape img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:0;
  mix-blend-mode:normal;
  opacity:1;
}
.mini-shirts.has-uploaded span{
  clip-path:none;
  background:transparent;
  display:grid;
  place-items:center;
}
.mini-shirts.has-uploaded span:before{
  display:none;
}
.mini-shirt-uploaded img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 16px 20px rgba(0,0,0,.35));
}

@keyframes shirtFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.wardrobe-steps{margin-top:28px}
.wardrobe-modal,.wardrobe-modal-backdrop{position:fixed;inset:0}
.wardrobe-modal{display:none;z-index:80;align-items:center;justify-content:center;padding:18px}
.wardrobe-modal.is-open{display:flex}
.wardrobe-modal-backdrop{background:rgba(2,6,23,.76);backdrop-filter:blur(10px)}
.wardrobe-modal-card{
  position:relative;z-index:2;width:min(980px,96vw);max-height:92vh;overflow:auto;border-radius:28px;padding:24px;
  background:linear-gradient(145deg,rgba(15,23,42,.98),rgba(30,27,75,.96));
  border:1px solid rgba(147,197,253,.22);box-shadow:0 34px 110px rgba(0,0,0,.56)
}
.wardrobe-modal-grid{display:grid;grid-template-columns:340px 1fr;gap:24px;align-items:start}
.wardrobe-modal-image{
  min-height:420px;border-radius:24px;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(circle at top,rgba(139,92,246,.38),rgba(15,23,42,.95));
  border:1px solid rgba(148,163,184,.18)
}
.wardrobe-modal-image img{width:100%;height:100%;object-fit:cover;display:block}
.wardrobe-modal-image.is-empty:before{content:"T-Shirt Design";font-weight:900;color:#c4b5fd;font-size:28px;text-align:center}
.wardrobe-order-form{margin-top:18px}
.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:980px){.wardrobe-hero{grid-template-columns:1fr;text-align:center}.wardrobe-copy{margin:auto}.wardrobe-copy .hero-actions{justify-content:center}.tshirt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wardrobe-modal-grid{grid-template-columns:1fr}.wardrobe-modal-image{min-height:280px}}
@media(max-width:640px){.wardrobe-page{padding:14px}.wardrobe-copy h1{font-size:42px;letter-spacing:-2px}.cabinet-body{min-height:500px;padding:70px 14px 20px}.tshirt-grid{grid-template-columns:1fr 1fr;gap:12px}.tshirt-card{min-height:210px;border-radius:22px}.shirt-shape{width:105px;height:112px}.cabinet-top{height:58px;font-size:11px}.wardrobe-modal-card{padding:18px;border-radius:22px}.form-grid.two{grid-template-columns:1fr}.mini-shirts span{width:64px;height:76px}}
