/* ============================================================
 * RESIK GLOW — CUSTOM CSS (SELF-CONTAINED)
 * Tidak bergantung pada app.css.
 * ============================================================ */

/* ---------- RESET & BASE ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:15px;line-height:1.55;
  background:#F8F3EA;color:#29231F;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
  max-width:100vw;
}
img,svg,video,canvas{display:block;max-width:100%;height:auto}
button{font:inherit;cursor:pointer;background:none;border:0;color:inherit}
a{color:inherit;text-decoration:none}
input,select,textarea{font:inherit;color:inherit}
table{border-collapse:collapse;width:100%}
h1,h2,h3,h4,h5,h6{margin:0;line-height:1.2;font-weight:700}
p{margin:0}
ul,ol{margin:0;padding:0}
li{list-style:none}
.font-heading{font-family:"Cormorant Garamond",Georgia,serif}
.font-body{font-family:Inter,system-ui,sans-serif}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* ---------- COLOR UTILITIES ---------- */
.bg-white{background-color:#fff}
.bg-rg-ivory{background-color:#F8F3EA}
.bg-rg-cream{background-color:#EFE4D2}
.bg-rg-brown{background-color:#3A241A}
.bg-rg-brown-dark{background-color:#2A1A13}
.bg-rg-gold{background-color:#C9A56A}
.bg-rg-gold-light{background-color:#E4C994}
.bg-rg-gold\/20{background-color:rgba(201,165,106,.2)}
.bg-rg-success\/10{background-color:rgba(85,116,91,.1)}
.bg-rg-success\/15{background-color:rgba(85,116,91,.15)}
.bg-rg-danger\/10{background-color:rgba(168,75,69,.1)}
.bg-rg-brown\/10{background-color:rgba(58,36,26,.1)}
.bg-white\/5{background-color:rgba(255,255,255,.05)}
.bg-white\/10{background-color:rgba(255,255,255,.1)}
.bg-white\/95{background-color:rgba(255,255,255,.95)}
.bg-black\/40{background-color:rgba(0,0,0,.4)}

.text-white{color:#fff}
.text-white\/70{color:rgba(255,255,255,.7)}
.text-white\/60{color:rgba(255,255,255,.6)}
.text-white\/50{color:rgba(255,255,255,.5)}
.text-white\/80{color:rgba(255,255,255,.8)}
.text-rg-brown{color:#3A241A}
.text-rg-gold{color:#C9A56A}
.text-rg-muted{color:#8B786A}
.text-rg-success{color:#55745B}
.text-rg-danger{color:#A84B45}
.text-rg-text{color:#29231F}

.border{border-width:1px;border-style:solid;border-color:#EFE4D2}
.border-t{border-top:1px solid #EFE4D2}
.border-b{border-bottom:1px solid #EFE4D2}
.border-rg-cream{border-color:#EFE4D2}
.border-rg-brown{border-color:#3A241A}
.border-rg-gold{border-color:#C9A56A}
.border-rg-gold\/30{border-color:rgba(201,165,106,.3)}
.border-white\/10{border-color:rgba(255,255,255,.1)}
.border-white\/20{border-color:rgba(255,255,255,.2)}

/* ---------- RADIUS ---------- */
.rounded{border-radius:6px}
.rounded-md{border-radius:8px}
.rounded-lg{border-radius:10px}
.rounded-xl{border-radius:12px}
.rounded-2xl{border-radius:16px}
.rounded-full{border-radius:9999px}
.rounded-btn{border-radius:10px}
.rounded-input{border-radius:10px}
.rounded-card{border-radius:16px}
.rounded-card-lg{border-radius:20px}
.rounded-product{border-radius:18px}

/* ---------- SHADOW ---------- */
.shadow-soft{box-shadow:0 8px 30px rgba(58,36,26,.06)}
.shadow-card{box-shadow:0 4px 20px rgba(58,36,26,.05)}
.shadow-lg{box-shadow:0 12px 40px rgba(58,36,26,.18)}

/* ---------- LAYOUT: DISPLAY ---------- */
.block{display:block}
.inline-block{display:inline-block}
.inline-flex{display:inline-flex}
.flex{display:flex}
.grid{display:grid}
.hidden{display:none}

/* ---------- FLEX ---------- */
.flex-1{flex:1 1 0%;min-width:0}
.flex-shrink-0{flex-shrink:0}
.flex-wrap{flex-wrap:wrap}
.flex-col{flex-direction:column}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.items-end{align-items:flex-end}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-start{justify-content:flex-start}
.justify-end{justify-content:flex-end}

/* ---------- GAP ---------- */
.gap-1{gap:4px}
.gap-2{gap:8px}
.gap-3{gap:12px}
.gap-4{gap:16px}
.gap-5{gap:20px}
.gap-6{gap:24px}
.gap-8{gap:32px}
.gap-12{gap:48px}

/* ---------- GRID COLS ---------- */
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.col-span-2{grid-column:span 2 / span 2}

/* ---------- SPACING: PADDING ---------- */
.p-2{padding:8px}
.p-3{padding:12px}
.p-4{padding:16px}
.p-5{padding:20px}
.p-6{padding:24px}
.p-8{padding:32px}
.p-10{padding:40px}
.px-1{padding-left:4px;padding-right:4px}
.px-2{padding-left:8px;padding-right:8px}
.px-3{padding-left:12px;padding-right:12px}
.px-4{padding-left:16px;padding-right:16px}
.px-5{padding-left:20px;padding-right:20px}
.px-6{padding-left:24px;padding-right:24px}
.px-8{padding-left:32px;padding-right:32px}
.py-0\.5{padding-top:2px;padding-bottom:2px}
.py-1{padding-top:4px;padding-bottom:4px}
.py-2{padding-top:8px;padding-bottom:8px}
.py-3{padding-top:12px;padding-bottom:12px}
.py-4{padding-top:16px;padding-bottom:16px}
.py-5{padding-top:20px;padding-bottom:20px}
.py-6{padding-top:24px;padding-bottom:24px}
.py-8{padding-top:32px;padding-bottom:32px}
.py-10{padding-top:40px;padding-bottom:40px}
.py-12{padding-top:48px;padding-bottom:48px}
.py-14{padding-top:56px;padding-bottom:56px}
.py-16{padding-top:64px;padding-bottom:64px}
.py-20{padding-top:80px;padding-bottom:80px}
.pt-3{padding-top:12px}
.pt-6{padding-top:24px}
.pb-24{padding-bottom:96px}
.pl-4{padding-left:16px}
.pl-5{padding-left:20px}
.pr-3{padding-right:12px}

/* ---------- SPACING: MARGIN ---------- */
.m-0{margin:0}
.mt-1{margin-top:4px}
.mt-2{margin-top:8px}
.mt-3{margin-top:12px}
.mt-4{margin-top:16px}
.mt-5{margin-top:20px}
.mt-6{margin-top:24px}
.mt-8{margin-top:32px}
.mt-10{margin-top:40px}
.mt-12{margin-top:48px}
.mt-20{margin-top:80px}
.mb-1{margin-bottom:4px}
.mb-2{margin-bottom:8px}
.mb-3{margin-bottom:12px}
.mb-4{margin-bottom:16px}
.mb-5{margin-bottom:20px}
.mb-6{margin-bottom:24px}
.mb-8{margin-bottom:32px}
.ml-0{margin-left:0}
.ml-2{margin-left:8px}
.ml-8{margin-left:32px}
.mr-2{margin-right:8px}
.-ml-2{margin-left:-8px}
.-mr-2{margin-right:-8px}
.mx-auto{margin-left:auto;margin-right:auto}

.space-y-1>*+*{margin-top:4px}
.space-y-2>*+*{margin-top:8px}
.space-y-3>*+*{margin-top:12px}
.space-y-4>*+*{margin-top:16px}

/* ---------- WIDTH ---------- */
.w-4{width:16px}.w-5{width:20px}.w-6{width:24px}.w-8{width:32px}
.w-9{width:36px}.w-10{width:40px}.w-11{width:44px}.w-12{width:48px}
.w-16{width:64px}.w-20{width:80px}
.w-full{width:100%}
.w-auto{width:auto}
.w-\[280px\]{width:280px}
.max-w-sm{max-width:24rem}
.max-w-md{max-width:28rem}
.max-w-lg{max-width:32rem}
.max-w-xl{max-width:36rem}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-6xl{max-width:72rem}
.max-w-7xl{max-width:80rem}
.min-w-0{min-width:0}
.min-w-\[280px\]{min-width:280px}

/* ---------- HEIGHT ---------- */
.h-3{height:12px}.h-4{height:16px}.h-5{height:20px}.h-6{height:24px}
.h-7{height:28px}.h-8{height:32px}.h-9{height:36px}.h-10{height:40px}
.h-11{height:44px}.h-12{height:48px}.h-14{height:56px}.h-16{height:64px}
.h-fit{height:fit-content}
.h-screen{height:100vh}
.min-h-screen{min-height:100vh}
.min-h-\[70vh\]{min-height:70vh}
.max-h-\[calc\(100vh-64px\)\]{max-height:calc(100vh - 64px)}

/* ---------- POSITION ---------- */
.relative{position:relative}
.absolute{position:absolute}
.fixed{position:fixed}
.sticky{position:sticky}
.top-0{top:0}
.top-16{top:64px}
.top-20{top:80px}
.bottom-0{bottom:0}
.right-4{right:16px}
.left-4{left:16px}
.inset-x-0{left:0;right:0}
.inset-0{top:0;right:0;bottom:0;left:0}
.z-40{z-index:40}
.z-50{z-index:50}
.z-\[999\]{z-index:999}

/* ---------- OVERFLOW ---------- */
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto;-webkit-overflow-scrolling:touch}
.overflow-y-auto{overflow-y:auto}
.overflow-x-hidden{overflow-x:clip}

/* ---------- TEXT ---------- */
.text-\[10px\]{font-size:10px;line-height:1.3}
.text-\[11px\]{font-size:11px;line-height:1.3}
.text-\[12px\]{font-size:12px;line-height:1.4}
.text-xs{font-size:12px;line-height:1.5}
.text-sm{font-size:13.5px;line-height:1.55}
.text-base{font-size:15px;line-height:1.55}
.text-lg{font-size:17px;line-height:1.5}
.text-xl{font-size:20px;line-height:1.35}
.text-2xl{font-size:24px;line-height:1.25}
.text-3xl{font-size:30px;line-height:1.2}
.text-4xl{font-size:36px;line-height:1.15}
.text-5xl{font-size:44px;line-height:1.1}
.text-7xl{font-size:64px;line-height:1.05}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.italic{font-style:italic}
.uppercase{text-transform:uppercase}
.tracking-wider{letter-spacing:.05em}
.tracking-widest{letter-spacing:.1em}
.leading-tight{line-height:1.2}
.leading-relaxed{line-height:1.7}
.text-left{text-align:left}
.text-center{text-align:center}
.text-right{text-align:right}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- DECOR ---------- */
.rounded-full{overflow:hidden}
.cursor-pointer{cursor:pointer}
.opacity-70{opacity:.7}
.transition{transition:all .2s cubic-bezier(.4,0,.2,1)}
.transition-transform{transition:transform .25s cubic-bezier(.4,0,.2,1)}
.duration-200{transition-duration:.2s}
.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}
.backdrop-blur{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.outline-none{outline:none}

.translate-x-0{transform:translateX(0)}
.-translate-x-full{transform:translateX(-100%)}

/* ---------- HOVER ---------- */
.hover\:bg-rg-brown-dark:hover{background-color:#2A1A13}
.hover\:bg-rg-gold-light:hover{background-color:#E4C994}
.hover\:bg-rg-cream:hover{background-color:#EFE4D2}
.hover\:bg-rg-ivory:hover{background-color:#F8F3EA}
.hover\:bg-white\/5:hover{background-color:rgba(255,255,255,.05)}
.hover\:bg-white\/10:hover{background-color:rgba(255,255,255,.1)}
.hover\:text-rg-gold:hover{color:#C9A56A}
.hover\:text-rg-brown:hover{color:#3A241A}
.hover\:border-rg-gold:hover{border-color:#C9A56A}
.hover\:underline:hover{text-decoration:underline}

/* ---------- FOCUS ---------- */
.focus\:ring-2:focus{box-shadow:0 0 0 2px rgba(201,165,106,.4)}
.focus\:ring-rg-gold:focus{--tw-ring-color:#C9A56A;box-shadow:0 0 0 2px rgba(201,165,106,.5)}
.focus\:border-rg-gold:focus{border-color:#C9A56A}

/* ============================================================
 * COMPONENTS
 * ============================================================ */
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border-radius:10px;background:#3A241A;color:#fff;
  padding:12px 22px;font-weight:600;font-size:14px;
  transition:background .2s ease-out;cursor:pointer;
  border:0;line-height:1.2;
}
.btn-primary:hover{background:#2A1A13}
.btn-gold{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border-radius:10px;background:#C9A56A;color:#3A241A;
  padding:12px 22px;font-weight:700;font-size:14px;
  transition:background .2s ease-out;cursor:pointer;border:0;
}
.btn-gold:hover{background:#E4C994}
.btn-outline{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border-radius:10px;border:1px solid #C9A56A;color:#3A241A;
  padding:12px 22px;font-weight:600;font-size:14px;
  background:transparent;transition:background .2s;cursor:pointer;
}
.btn-outline:hover{background:#EFE4D2}

.card{
  background:#fff;border-radius:16px;border:1px solid #EFE4D2;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
  padding:20px;
}

.input{
  width:100%;border-radius:10px;border:1px solid #EFE4D2;
  padding:12px 16px;background:#fff;font-size:14px;
  transition:border-color .2s,box-shadow .2s;
}
.input:focus{outline:none;border-color:#C9A56A;box-shadow:0 0 0 3px rgba(201,165,106,.18)}

.form-label{display:block;font-size:13px;font-weight:600;color:#3A241A;margin-bottom:6px}
.form-hint{font-size:12px;color:#8B786A;margin-top:4px}
.form-group{margin-bottom:16px}
.input-icon-wrap{position:relative}
.input-icon-wrap .input{padding-left:44px}
.input-icon-wrap .input-icon{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:#8B786A;width:18px;height:18px;pointer-events:none;
}
.pw-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#8B786A;background:none;border:0;padding:4px}

.badge, .badge-active, .badge-pending, .badge-completed, .badge-suspended{
  display:inline-flex;align-items:center;
  font-size:10px;font-weight:700;letter-spacing:.4px;
  padding:4px 8px;border-radius:9999px;
}
.badge-active{background:#E9F3EB;color:#2D5A34}
.badge-pending{background:#FBF1DC;color:#5C4420}
.badge-completed{background:#EFE4D2;color:#3A241A}
.badge-suspended{background:#F8E5E4;color:#8B2B25}

/* ---------- FLASH ---------- */
#rg-flash-wrap{
  position:fixed;top:80px;right:16px;left:16px;
  z-index:9999;display:flex;flex-direction:column;gap:10px;
  pointer-events:none;
}
#rg-flash-wrap .alert{pointer-events:auto}
@media (min-width:768px){
  #rg-flash-wrap{left:auto;right:24px;max-width:420px}
}
.alert{
  display:flex;gap:12px;align-items:flex-start;
  padding:14px 16px;border-radius:12px;
  font-size:14px;font-weight:500;line-height:1.5;
  box-shadow:0 12px 32px rgba(58,36,26,.15);
  border-left:4px solid;
  animation:rgSlideIn .3s ease-out;
}
@keyframes rgSlideIn{
  from{opacity:0;transform:translateX(30px)}
  to{opacity:1;transform:translateX(0)}
}
.alert i{flex-shrink:0;width:20px;height:20px;margin-top:1px}
.alert-success{background:#E9F3EB;color:#2D5A34;border-color:#55745B}
.alert-success i{color:#55745B}
.alert-danger{background:#F8E5E4;color:#8B2B25;border-color:#A84B45}
.alert-danger i{color:#A84B45}
.alert-warning{background:#FBF1DC;color:#5C4420;border-color:#C9A56A}
.alert-warning i{color:#C9A56A}
.alert-info{background:#E8EEF5;color:#2D4A6B;border-color:#5B7BA5}

/* ============================================================
 * DASHBOARD PREMIUM
 * ============================================================ */
.dash-hero{
  background:linear-gradient(135deg,#3A241A 0%,#513528 55%,#2A1A13 100%);
  color:#fff;border-radius:20px;padding:24px;
  position:relative;overflow:hidden;
  box-shadow:0 12px 40px rgba(58,36,26,.25);
  margin-bottom:24px;
}
.dash-hero::before{
  content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(201,165,106,.35) 0%,transparent 70%);
  pointer-events:none;
}
.dash-hero::after{
  content:"";position:absolute;left:-40px;bottom:-40px;width:160px;height:160px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(201,165,106,.15) 0%,transparent 70%);
  pointer-events:none;
}
.dash-hero-content{position:relative;z-index:2}
.dash-hero h1{
  color:#fff;font-size:26px;margin:2px 0 4px;
  font-family:"Cormorant Garamond",serif;font-weight:700;line-height:1.15;
}
.dash-hero p{color:rgba(255,255,255,.75);font-size:13.5px;margin:0}

.avatar-hero{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,#C9A56A,#E4C994);
  display:flex;align-items:center;justify-content:center;
  font-family:"Cormorant Garamond",serif;font-weight:700;font-size:28px;
  color:#3A241A;flex-shrink:0;
  box-shadow:0 6px 20px rgba(201,165,106,.5);
}

.rank-badge{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 11px;border-radius:9999px;
  font-weight:700;font-size:10.5px;letter-spacing:.5px;
  background:linear-gradient(135deg,#C9A56A,#E4C994);
  color:#3A241A;box-shadow:0 2px 10px rgba(201,165,106,.4);
}
.rank-badge.bronze{background:linear-gradient(135deg,#8B786A,#A89080);color:#fff}
.rank-badge.silver{background:linear-gradient(135deg,#A8A8A8,#D0D0D0);color:#3A241A}
.rank-badge.gold{background:linear-gradient(135deg,#C9A56A,#E4C994);color:#3A241A}
.rank-badge.diamond{background:linear-gradient(135deg,#3A241A,#513528);color:#E4C994;border:1px solid #C9A56A}

.rank-progress-wrap{margin-top:16px;position:relative;z-index:2}
.rank-progress-track{
  height:8px;background:rgba(255,255,255,.18);
  border-radius:9999px;overflow:hidden;
}
.rank-progress-bar{
  height:100%;background:linear-gradient(90deg,#C9A56A,#E4C994);
  border-radius:9999px;transition:width .8s ease-out;min-width:4px;
}

/* Stat cards */
.stat-premium{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;padding:16px;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
  position:relative;overflow:hidden;
  transition:transform .2s,box-shadow .2s;
}
.stat-premium:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(58,36,26,.1)}
.stat-premium .sp-icon{
  width:40px;height:40px;border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:12px;
}
.stat-premium .sp-icon svg{width:20px;height:20px}
.stat-premium .sp-label{
  font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  color:#8B786A;font-weight:600;
}
.stat-premium .sp-value{
  font-family:"Cormorant Garamond",serif;
  font-size:28px;font-weight:700;color:#3A241A;
  line-height:1.1;margin-top:2px;
}
.stat-premium .sp-foot{
  font-size:11.5px;color:#8B786A;margin-top:6px;
  display:flex;align-items:center;gap:4px;
}
.sp-1{background:linear-gradient(135deg,#3A241A,#513528)}
.sp-2{background:linear-gradient(135deg,#C9A56A,#E4C994)}
.sp-3{background:linear-gradient(135deg,#55745B,#6E8F73)}
.sp-4{background:linear-gradient(135deg,#8B786A,#A89080)}

/* Quick action */
.quick-action{
  display:flex;align-items:center;gap:12px;
  padding:12px;border-radius:12px;
  border:1px solid #EFE4D2;background:#fff;
  transition:all .2s;text-decoration:none;
}
.quick-action:hover{background:#F8F3EA;border-color:#C9A56A;transform:translateX(3px)}
.quick-action .qa-icon{
  width:36px;height:36px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}

/* Ref box */
.ref-box{
  background:#F8F3EA;border:1px dashed #C9A56A;
  border-radius:12px;padding:14px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.ref-code{
  font-family:ui-monospace,Menlo,monospace;
  font-weight:700;color:#3A241A;letter-spacing:1px;font-size:14px;
  word-break:break-all;
}
.ref-copy{
  background:#3A241A;color:#fff;border:0;border-radius:8px;
  padding:8px 14px;font-size:12px;font-weight:600;
  cursor:pointer;white-space:nowrap;transition:background .2s;
}
.ref-copy:hover{background:#2A1A13}

/* ============================================================
 * NETWORK TREE
 * ============================================================ */
.net-stat{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:14px;padding:16px;text-align:center;
  box-shadow:0 4px 16px rgba(58,36,26,.05);
}
.net-stat .ns-value{
  font-family:"Cormorant Garamond",serif;
  font-size:28px;font-weight:700;color:#3A241A;line-height:1;
}
.net-stat .ns-label{
  font-size:10.5px;color:#8B786A;text-transform:uppercase;
  letter-spacing:.06em;margin-top:6px;font-weight:600;
}

.rg-tree,
.rg-tree ul{list-style:none;margin:0;padding:0}
.rg-tree ul{padding-left:24px;position:relative}

.rg-tree .tree-node{
  position:relative;
  display:flex;align-items:center;gap:10px;
  background:#fff;border:1px solid #EFE4D2;
  border-radius:12px;padding:10px 12px;margin:8px 0;
  transition:border-color .2s,box-shadow .2s;
  min-width:0;
}
.rg-tree .tree-node:hover{
  border-color:#C9A56A;
  box-shadow:0 4px 16px rgba(58,36,26,.08);
}
.rg-tree ul > li{position:relative}
.rg-tree ul > li::before{
  content:"";position:absolute;left:-12px;top:0;bottom:0;
  width:1px;background:#EFE4D2;
}
.rg-tree ul > li::after{
  content:"";position:absolute;left:-12px;top:30px;
  width:12px;height:1px;background:#EFE4D2;
}
.rg-tree ul > li:last-child::before{bottom:auto;height:30px}

.tree-node-avatar{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:"Cormorant Garamond",serif;font-weight:700;font-size:15px;
  background:linear-gradient(135deg,#C9A56A,#E4C994);color:#3A241A;
}
.tree-node-avatar.self{
  background:linear-gradient(135deg,#3A241A,#513528);
  color:#E4C994;box-shadow:0 0 0 3px rgba(201,165,106,.25);
}
.tree-node-info{flex:1;min-width:0;overflow:hidden}
.tree-node-name{
  font-weight:600;color:#3A241A;font-size:13.5px;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.tree-node-meta{font-size:11px;color:#8B786A;margin-top:2px}
.tree-node-stats{
  display:flex;align-items:center;gap:6px;
  flex-shrink:0;
}
.tree-pill{
  font-size:10px;font-weight:700;padding:3px 8px;
  border-radius:9999px;background:#F8F3EA;color:#3A241A;
  letter-spacing:.3px;white-space:nowrap;
}
.tree-pill.gv{background:rgba(201,165,106,.25);color:#3A241A}

.tree-toggle{
  width:22px;height:22px;border-radius:6px;
  border:1px solid #EFE4D2;
  display:flex;align-items:center;justify-content:center;
  background:#fff;color:#3A241A;cursor:pointer;
  flex-shrink:0;font-size:12px;font-weight:700;line-height:1;
  padding:0;
}
.tree-toggle:hover{background:#F8F3EA;border-color:#C9A56A}
.tree-toggle.empty{opacity:.3;pointer-events:none;cursor:default}

/* ============================================================
 * TABLE
 * ============================================================ */
table{width:100%;border-collapse:collapse;font-size:13.5px}
table thead{background:#EFE4D2}
table thead th{
  text-align:left;padding:10px 12px;font-weight:600;
  font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;
  color:#3A241A;
}
table tbody td{padding:11px 12px;border-top:1px solid #EFE4D2}
table tbody tr:hover{background:rgba(248,243,234,.5)}

/* ============================================================
 * RESPONSIVE
 * ============================================================ */
@media (min-width:640px){
  .sm\:text-base{font-size:15px}
  .sm\:inline{display:inline}
  .sm\:w-auto{width:auto}
  .sm\:flex-row{flex-direction:row}
  .sm\:ml-3{margin-left:12px}
  .sm\:mt-0{margin-top:0}
}

@media (min-width:768px){
  .md\:p-6{padding:24px}
  .md\:p-8{padding:32px}
  .md\:p-10{padding:40px}
  .md\:py-16{padding-top:64px;padding-bottom:64px}
  .md\:py-24{padding-top:96px;padding-bottom:96px}
  .md\:px-6{padding-left:24px;padding-right:24px}
  .md\:text-right{text-align:right}
  .md\:text-left{text-align:left}
  .md\:text-lg{font-size:17px}
  .md\:text-xl{font-size:20px}
  .md\:text-2xl{font-size:24px}
  .md\:text-3xl{font-size:30px}
  .md\:text-4xl{font-size:36px}
  .md\:text-5xl{font-size:44px}
  .md\:text-6xl{font-size:52px}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .md\:flex{display:flex}
  .md\:hidden{display:none}
  .md\:flex-row{flex-direction:row}
  .md\:items-center{align-items:center}
  .md\:items-end{align-items:flex-end}
  .md\:justify-between{justify-content:space-between}
  .md\:gap-6{gap:24px}
  .md\:gap-8{gap:32px}
  .md\:gap-12{gap:48px}
  .md\:col-span-1{grid-column:span 1/span 1}
  .md\:max-w-md{max-width:28rem}
  .md\:left-auto{left:auto}
  .md\:right-6{right:24px}
  .md\:flex-row{flex-direction:row}
  .md\:w-auto{width:auto}
  .md\:mx-0{margin-left:0;margin-right:0}

  .dash-hero{padding:32px}
  .dash-hero h1{font-size:36px}
  .stat-premium .sp-value{font-size:34px}
  .avatar-hero{width:72px;height:72px;font-size:32px}
}

@media (min-width:1024px){
  .lg\:p-8{padding:32px}
  .lg\:pb-8{padding-bottom:32px}
  .lg\:py-28{padding-top:112px;padding-bottom:112px}
  .lg\:text-left{text-align:left}
  .lg\:mx-0{margin-left:0;margin-right:0}
  .lg\:justify-start{justify-content:flex-start}
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lg\:grid-cols-\[260px_1fr\]{grid-template-columns:260px minmax(0,1fr)}
  .lg\:grid-cols-\[240px_1fr\]{grid-template-columns:240px minmax(0,1fr)}
  .lg\:col-span-2{grid-column:span 2/span 2}
  .lg\:grid{display:grid}
  .lg\:block{display:block}
  .lg\:hidden{display:none}
  .lg\:flex{display:flex}
  .lg\:inline{display:inline}
  .lg\:order-none{order:0}
  .lg\:sticky{position:sticky}
  .lg\:top-0{top:0}
  .lg\:h-screen{height:100vh}
  .lg\:w-auto{width:auto}
  .lg\:static{position:static}
  .lg\:translate-x-0{transform:translateX(0)}
}

/* ---------- SPECIFIC: mobile grid untuk member area ---------- */
@media (max-width:1023px){
  .lg\:grid-cols-\[260px_1fr\]{grid-template-columns:1fr}
}

/* ---------- SAFE AREA (iOS notch) ---------- */
@supports(padding:max(0px)){
  #rg-flash-wrap{top:max(80px,calc(env(safe-area-inset-top) + 64px))}
  .pb-24{padding-bottom:max(96px,calc(env(safe-area-inset-bottom) + 80px))}
}

/* ---------- EMPTY STATE ---------- */
.empty-state{
  text-align:center;padding:56px 20px;
}
.empty-state .es-icon{
  width:80px;height:80px;border-radius:50%;
  background:#EFE4D2;display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;
}
.empty-state h3{
  font-family:"Cormorant Garamond",serif;
  font-size:24px;color:#3A241A;margin:0 0 8px;
}
.empty-state p{color:#8B786A;font-size:14px;max-width:400px;margin:0 auto}

/* ---------- SCROLLBAR ---------- */
.overflow-x-auto::-webkit-scrollbar{height:6px}
.overflow-x-auto::-webkit-scrollbar-track{background:#F8F3EA;border-radius:9999px}
.overflow-x-auto::-webkit-scrollbar-thumb{background:#C9A56A;border-radius:9999px}

/* ============================================================
 * SIDEBAR STICKY FIX
 * overflow-x:clip tidak break position:sticky
 * ============================================================ */
html, body {
  overflow-x: clip; /* bukan hidden */
  max-width: 100%;
}

/* Grid parent harus pakai align-items:start agar sticky bekerja */
.rg-shell {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  min-height: 100vh;
  width: 100%;
}
@media (min-width: 1024px) {
  .rg-shell {
    grid-template-columns: 260px minmax(0, 1fr);
  }
}

/* Sidebar desktop */
.rg-sidebar {
  display: none;
}
@media (min-width: 1024px) {
  .rg-sidebar {
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100vh;
    max-height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    background: #3A241A;
    color: #fff;
    padding: 20px;
    align-self: start;
    width: 260px;
    /* Custom scrollbar */
    scrollbar-width: thin;
    scrollbar-color: rgba(201,165,106,.4) transparent;
  }
  .rg-sidebar::-webkit-scrollbar { width: 6px; }
  .rg-sidebar::-webkit-scrollbar-track { background: transparent; }
  .rg-sidebar::-webkit-scrollbar-thumb {
    background: rgba(201,165,106,.4);
    border-radius: 9999px;
  }
  .rg-sidebar::-webkit-scrollbar-thumb:hover {
    background: rgba(201,165,106,.7);
  }
}

/* Main content area */
.rg-main {
  min-width: 0;
  width: 100%;
  padding: 16px;
  padding-bottom: 96px; /* ruang untuk bottom nav mobile */
}
@media (min-width: 768px) {
  .rg-main { padding: 24px; }
}
@media (min-width: 1024px) {
  .rg-main {
    padding: 32px;
    padding-bottom: 32px;
  }
}

/* ============================================================
 * ADMIN DRAWER (mobile) — pakai fixed, bukan sticky
 * ============================================================ */
.rg-admin-topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  background: #3A241A;
  color: #fff;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
}
@media (min-width: 1024px) {
  .rg-admin-topbar { display: none; }
}

.rg-admin-drawer {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 280px;
  max-width: 85vw;
  z-index: 60;
  background: #3A241A;
  color: #fff;
  padding: 20px;
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform .25s cubic-bezier(.4,0,.2,1);
}
.rg-admin-drawer.open {
  transform: translateX(0);
}
@media (min-width: 1024px) {
  .rg-admin-drawer {
    position: sticky;
    top: 0;
    height: 100vh;
    max-height: 100vh;
    transform: translateX(0);
    max-width: none;
    width: 260px;
    z-index: 1;
  }
}

.rg-admin-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 55;
  backdrop-filter: blur(2px);
}
@media (min-width: 1024px) {
  .rg-admin-overlay { display: none; }
}

/* ============================================================
 * MOBILE BOTTOM NAV — fix di bawah, aman dari safe area
 * ============================================================ */
.rg-bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 40;
  background: #fff;
  border-top: 1px solid #EFE4D2;
  box-shadow: 0 -4px 20px rgba(58,36,26,.06);
  padding-bottom: env(safe-area-inset-bottom, 0);
}
@media (min-width: 1024px) {
  .rg-bottom-nav { display: none; }
}
.rg-bottom-nav-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
.rg-bottom-nav-grid a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 10px 4px;
  font-size: 10.5px;
  font-weight: 600;
  color: #8B786A;
  text-decoration: none;
  transition: color .2s;
}
.rg-bottom-nav-grid a:hover,
.rg-bottom-nav-grid a.active {
  color: #C9A56A;
}
.rg-bottom-nav-grid svg {
  width: 20px;
  height: 20px;
}

/* ============================================================
 * MOBILE HEADER (sticky top, mobile only)
 * ============================================================ */
.rg-mobile-header {
  position: sticky;
  top: 0;
  z-index: 45;
  background: #fff;
  border-bottom: 1px solid #EFE4D2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  height: 56px;
}
@media (min-width: 1024px) {
  .rg-mobile-header { display: none; }
}
.rg-mobile-header .brand {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "Cormorant Garamond", serif;
  font-size: 18px;
  font-weight: 700;
  color: #3A241A;
  letter-spacing: 1px;
}
.rg-mobile-header .brand img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}
.rg-mobile-header .actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rg-mobile-header .icon-btn {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #3A241A;
  transition: background .2s;
}
.rg-mobile-header .icon-btn:hover {
  background: #F8F3EA;
}

/* ============================================================
 * FIX OVERFLOW MOBILE (homepage & semua)
 * ============================================================ */
*, *::before, *::after { min-width: 0; }
img, svg, video { max-width: 100%; height: auto; }
.grid, [class*="grid-cols-"] { min-width: 0; }
section, div, main, article { max-width: 100%; }

/* Container */
.rg-container{
  width:100%;max-width:1280px;margin:0 auto;
  padding-left:16px;padding-right:16px;
}
@media (min-width:768px){.rg-container{padding-left:24px;padding-right:24px}}

/* ============================================================
 * PRODUCT CARD — MODERN
 * ============================================================ */
.product-card{
  position:relative;
  background:#fff;
  border-radius:16px;
  border:1px solid #EFE4D2;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  text-decoration:none;
  color:inherit;
}
.product-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 40px rgba(58,36,26,.12);
  border-color:#C9A56A;
}
.product-card__media{
  position:relative;
  aspect-ratio:1/1;
  background:linear-gradient(135deg,#F8F3EA,#EFE4D2);
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.product-card__media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease;
}
.product-card:hover .product-card__media img{
  transform:scale(1.06);
}
.product-card__media .placeholder{
  font-family:"Cormorant Garamond",serif;
  font-size:32px;color:#C9A56A;opacity:.6;
}
.product-card__badge{
  position:absolute;top:10px;left:10px;
  font-size:10px;font-weight:700;letter-spacing:.5px;
  padding:4px 9px;border-radius:9999px;
  background:#3A241A;color:#C9A56A;
  z-index:2;
}
.product-card__badge.core{background:#3A241A;color:#E4C994}
.product-card__badge.support{background:#C9A56A;color:#3A241A}
.product-card__fav{
  position:absolute;top:10px;right:10px;
  width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.9);
  display:flex;align-items:center;justify-content:center;
  color:#3A241A;z-index:2;
  transition:all .2s;
}
.product-card:hover .product-card__fav{
  background:#C9A56A;color:#fff;
}
.product-card__body{
  padding:14px 14px 16px;
  display:flex;flex-direction:column;flex:1;gap:6px;
}
.product-card__cat{
  font-size:10px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:#8B786A;
}
.product-card__name{
  font-family:"Cormorant Garamond",serif;
  font-size:18px;font-weight:700;color:#3A241A;
  line-height:1.2;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:42px;
}
.product-card__price{
  font-size:16px;font-weight:700;color:#C9A56A;
  margin-top:auto;
}
.product-card__cta{
  display:flex;align-items:center;justify-content:space-between;
  font-size:12px;font-weight:600;color:#3A241A;
  margin-top:6px;padding-top:10px;
  border-top:1px solid #F8F3EA;
}
.product-card__cta .arrow{
  width:26px;height:26px;border-radius:50%;
  background:#F8F3EA;color:#3A241A;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.product-card:hover .product-card__cta .arrow{
  background:#3A241A;color:#C9A56A;
}

/* ============================================================
 * SECTION HEADER
 * ============================================================ */
.section-head{
  display:flex;flex-direction:column;gap:8px;
  margin-bottom:24px;
}
@media (min-width:640px){
  .section-head{
    flex-direction:row;align-items:flex-end;justify-content:space-between;
    gap:24px;
  }
}
.section-head__label{
  font-size:11px;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:#C9A56A;
}
.section-head__title{
  font-family:"Cormorant Garamond",serif;
  font-size:30px;font-weight:700;color:#3A241A;
  line-height:1.1;margin-top:2px;
}
@media (min-width:768px){.section-head__title{font-size:38px}}
.section-head__desc{
  font-size:13.5px;color:#8B786A;
  max-width:520px;margin-top:6px;line-height:1.6;
}
.section-head__action{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:600;color:#3A241A;
  padding:8px 14px;border-radius:10px;
  border:1px solid #C9A56A;
  transition:background .2s;
  white-space:nowrap;
  align-self:flex-start;
}
.section-head__action:hover{background:#EFE4D2}

/* ============================================================
 * HERO — MODERN
 * ============================================================ */
.rg-hero{
  position:relative;
  background:linear-gradient(160deg,#F8F3EA 0%,#EFE4D2 100%);
  border-radius:24px;
  padding:28px 20px 32px;
  overflow:hidden;
  margin-bottom:32px;
}
.rg-hero::before{
  content:"";position:absolute;right:-80px;top:-80px;
  width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,165,106,.28) 0%,transparent 70%);
  pointer-events:none;
}
@media (min-width:768px){
  .rg-hero{padding:56px 48px;border-radius:28px}
}
.rg-hero__grid{
  display:grid;grid-template-columns:1fr;gap:28px;
  position:relative;z-index:1;
  align-items:center;
}
@media (min-width:1024px){
  .rg-hero__grid{grid-template-columns:1.1fr 1fr;gap:56px}
}
.rg-hero__label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:#C9A56A;
  background:#fff;padding:6px 12px;border-radius:9999px;
  border:1px solid rgba(201,165,106,.3);
  margin-bottom:14px;
}
.rg-hero__title{
  font-family:"Cormorant Garamond",serif;
  font-size:38px;font-weight:700;color:#3A241A;
  line-height:1.05;letter-spacing:-.5px;
  margin:0 0 12px;
}
@media (min-width:768px){.rg-hero__title{font-size:56px}}
@media (min-width:1024px){.rg-hero__title{font-size:68px}}
.rg-hero__title em{
  font-style:italic;color:#C9A56A;
}
.rg-hero__desc{
  font-size:15px;color:#8B786A;line-height:1.65;
  max-width:480px;margin:0 0 24px;
}
.rg-hero__actions{
  display:flex;flex-direction:column;gap:10px;
}
@media (min-width:480px){
  .rg-hero__actions{flex-direction:row;flex-wrap:wrap}
}
.rg-hero__actions .btn-primary,
.rg-hero__actions .btn-outline{
  width:100%;justify-content:center;padding:14px 24px;
}
@media (min-width:480px){
  .rg-hero__actions .btn-primary,
  .rg-hero__actions .btn-outline{width:auto}
}
.rg-hero__visual{
  position:relative;aspect-ratio:1/1;
  max-width:360px;margin:0 auto;
  background:linear-gradient(135deg,#fff,#F8F3EA);
  border-radius:24px;
  border:1px solid rgba(201,165,106,.35);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 20px 60px rgba(58,36,26,.15);
  overflow:hidden;
}
.rg-hero__visual img{
  width:60%;height:60%;object-fit:contain;
}
.rg-hero__visual .wordmark{
  font-family:"Cormorant Garamond",serif;
  font-size:44px;font-weight:700;color:#3A241A;
  text-align:center;line-height:1;
}
.rg-hero__stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:12px;margin-top:28px;
  padding-top:24px;border-top:1px solid rgba(58,36,26,.08);
}
.rg-hero__stat .num{
  font-family:"Cormorant Garamond",serif;
  font-size:24px;font-weight:700;color:#3A241A;
  line-height:1;
}
.rg-hero__stat .lbl{
  font-size:10.5px;color:#8B786A;
  text-transform:uppercase;letter-spacing:.08em;
  margin-top:4px;font-weight:600;
}

/* ============================================================
 * CATEGORY TABS
 * ============================================================ */
.cat-tabs{
  display:flex;gap:8px;overflow-x:auto;
  padding:4px 0 12px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.cat-tabs::-webkit-scrollbar{display:none}
.cat-tab{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 16px;border-radius:9999px;
  background:#fff;border:1px solid #EFE4D2;
  font-size:12.5px;font-weight:600;color:#3A241A;
  white-space:nowrap;cursor:pointer;
  transition:all .2s;
  flex-shrink:0;
}
.cat-tab:hover{border-color:#C9A56A}
.cat-tab.active{
  background:#3A241A;color:#C9A56A;border-color:#3A241A;
}

/* ============================================================
 * CORE vs SUPPORT BADGE
 * ============================================================ */
.tag{
  display:inline-flex;align-items:center;gap:4px;
  font-size:10px;font-weight:700;letter-spacing:.5px;
  text-transform:uppercase;
  padding:3px 8px;border-radius:6px;
}
.tag-core{background:#3A241A;color:#C9A56A}
.tag-support{background:rgba(201,165,106,.2);color:#3A241A}

/* ============================================================
 * SIDEBAR: GROUP HEADINGS
 * ============================================================ */
.rg-sidebar__group{
  font-size:10px;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:rgba(201,165,106,.6);
  padding:14px 12px 6px;
}
.rg-sidebar__group:first-child{padding-top:0}

/* ============================================================
 * BUSINESS CARD (feature)
 * ============================================================ */
.feature-card{
  position:relative;
  background:#fff;border-radius:16px;
  border:1px solid #EFE4D2;padding:24px;
  overflow:hidden;
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.feature-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 32px rgba(58,36,26,.1);
  border-color:#C9A56A;
}
.feature-card__icon{
  width:48px;height:48px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;
}
.feature-card__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;
  margin:0 0 6px;
}
.feature-card__desc{
  font-size:13.5px;color:#8B786A;line-height:1.6;
}
.feature-card__num{
  position:absolute;right:20px;top:20px;
  font-family:"Cormorant Garamond",serif;
  font-size:44px;font-weight:700;
  color:rgba(201,165,106,.15);line-height:1;
}

/* ============================================================
 * NETWORK PAGE
 * ============================================================ */
.net-hero{
  background:linear-gradient(135deg,#3A241A 0%,#513528 60%,#2A1A13 100%);
  color:#fff;border-radius:20px;padding:24px;
  position:relative;overflow:hidden;
  box-shadow:0 12px 40px rgba(58,36,26,.25);
  margin-bottom:24px;
}
.net-hero::before{
  content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(201,165,106,.35) 0%,transparent 70%);
  pointer-events:none;
}
.net-hero__content{position:relative;z-index:2}
.net-hero h1{
  color:#fff;font-family:"Cormorant Garamond",serif;
  font-size:30px;font-weight:700;line-height:1.1;margin:6px 0 8px;
}
.net-hero p{color:rgba(255,255,255,.75);font-size:13.5px;line-height:1.6;margin:0;max-width:520px}

.net-hero__label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:#C9A56A;
  background:rgba(255,255,255,.05);padding:5px 11px;
  border-radius:9999px;border:1px solid rgba(201,165,106,.3);
}

/* Referral box di hero */
.net-hero__ref{
  margin-top:20px;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.1);
}
.net-hero__ref-label{
  font-size:10.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.6);
  margin-bottom:8px;
}
.net-hero__ref-row{
  display:flex;gap:8px;align-items:stretch;
  background:rgba(255,255,255,.05);
  border:1px dashed rgba(201,165,106,.4);
  border-radius:12px;padding:12px;
}
.net-hero__ref-row .code{
  flex:1;min-width:0;
  font-family:ui-monospace,Menlo,monospace;
  font-size:13px;font-weight:700;color:#E4C994;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  padding:4px 0;
}
.copy-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:9px 14px;border-radius:9px;
  background:#C9A56A;color:#3A241A;border:0;
  font-size:12px;font-weight:700;cursor:pointer;
  transition:all .2s;white-space:nowrap;
}
.copy-btn:hover{background:#E4C994}
.copy-btn.copied{background:#55745B;color:#fff}
.copy-btn svg{width:14px;height:14px}

/* Net stats (grid premium) */
.net-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;margin-bottom:24px;
}
@media (min-width:768px){
  .net-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
}
.net-card{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:14px;padding:16px;
  box-shadow:0 4px 16px rgba(58,36,26,.04);
  position:relative;overflow:hidden;
  transition:transform .2s,box-shadow .2s;
}
.net-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(58,36,26,.08)}
.net-card__icon{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:10px;
}
.net-card__icon svg{width:18px;height:18px}
.net-card__value{
  font-family:"Cormorant Garamond",serif;
  font-size:28px;font-weight:700;color:#3A241A;line-height:1;
}
.net-card__label{
  font-size:10.5px;color:#8B786A;text-transform:uppercase;
  letter-spacing:.06em;margin-top:6px;font-weight:600;
}
.net-card__delta{
  font-size:11px;color:#55745B;font-weight:600;
  display:inline-flex;align-items:center;gap:3px;margin-top:6px;
}

/* Tips dropdown */
.tips-wrap{position:relative;display:inline-block}
.tips-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:10px;
  background:#F8F3EA;border:1px solid #EFE4D2;
  font-size:12.5px;font-weight:600;color:#3A241A;
  cursor:pointer;transition:all .2s;
}
.tips-btn:hover{background:#EFE4D2;border-color:#C9A56A}
.tips-btn svg{width:14px;height:14px;color:#C9A56A}

.tips-panel{
  position:absolute;right:0;top:calc(100% + 8px);
  width:320px;max-width:calc(100vw - 32px);
  background:#fff;border:1px solid #EFE4D2;
  border-radius:14px;padding:18px;
  box-shadow:0 20px 50px rgba(58,36,26,.18);
  z-index:50;
  text-align:left;
}
.tips-panel::before{
  content:"";position:absolute;top:-6px;right:24px;
  width:12px;height:12px;background:#fff;
  transform:rotate(45deg);
  border-left:1px solid #EFE4D2;border-top:1px solid #EFE4D2;
}
.tips-panel h4{
  font-family:"Cormorant Garamond",serif;
  font-size:18px;color:#3A241A;margin:0 0 10px;
  display:flex;align-items:center;gap:6px;
}
.tips-panel ul{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:10px;
}
.tips-panel li{
  display:flex;gap:10px;font-size:13px;line-height:1.5;
  color:#29231F;
}
.tips-panel li .num{
  flex-shrink:0;width:22px;height:22px;border-radius:50%;
  background:linear-gradient(135deg,#C9A56A,#E4C994);
  color:#3A241A;font-weight:700;font-size:11px;
  display:flex;align-items:center;justify-content:center;
}
.tips-panel .close{
  position:absolute;top:12px;right:12px;
  background:none;border:0;cursor:pointer;color:#8B786A;padding:4px;
}

/* Toolbar */
.net-toolbar{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  justify-content:space-between;
  margin-bottom:20px;
}
.net-toolbar__left{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
}
.net-search{
  position:relative;flex:1;min-width:180px;max-width:280px;
}
.net-search input{
  width:100%;border:1px solid #EFE4D2;border-radius:10px;
  padding:10px 12px 10px 36px;font-size:13px;background:#fff;
  transition:border-color .2s,box-shadow .2s;
}
.net-search input:focus{
  outline:none;border-color:#C9A56A;box-shadow:0 0 0 3px rgba(201,165,106,.15);
}
.net-search svg{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);
  width:16px;height:16px;color:#8B786A;pointer-events:none;
}

.view-tabs{
  display:inline-flex;background:#F8F3EA;border-radius:10px;
  padding:3px;gap:2px;border:1px solid #EFE4D2;
}
.view-tab{
  padding:7px 14px;border-radius:8px;border:0;background:transparent;
  font-size:12.5px;font-weight:600;color:#8B786A;cursor:pointer;
  transition:all .2s;display:inline-flex;align-items:center;gap:5px;
}
.view-tab svg{width:14px;height:14px}
.view-tab.active{background:#fff;color:#3A241A;box-shadow:0 2px 6px rgba(58,36,26,.06)}

/* Direct downline card list */
.direct-list{display:flex;flex-direction:column;gap:10px}
.direct-item{
  display:flex;align-items:center;gap:12px;
  background:#fff;border:1px solid #EFE4D2;border-radius:12px;
  padding:12px 14px;
  transition:border-color .2s,box-shadow .2s;
}
.direct-item:hover{border-color:#C9A56A;box-shadow:0 4px 16px rgba(58,36,26,.06)}
.direct-item__avatar{
  width:42px;height:42px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:"Cormorant Garamond",serif;
  font-size:18px;font-weight:700;
  background:linear-gradient(135deg,#C9A56A,#E4C994);color:#3A241A;
}
.direct-item__info{flex:1;min-width:0}
.direct-item__name{
  font-weight:600;color:#3A241A;font-size:14px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.direct-item__meta{font-size:11.5px;color:#8B786A;margin-top:2px}
.direct-item__right{text-align:right;flex-shrink:0}
.direct-item__amount{
  font-family:"Cormorant Garamond",serif;
  font-size:18px;font-weight:700;color:#C9A56A;line-height:1;
}
.direct-item__sub{font-size:10.5px;color:#8B786A;margin-top:3px}

/* Referral link section */
.ref-link-box{
  background:#fff;border:1px solid #EFE4D2;border-radius:16px;
  padding:20px;box-shadow:0 4px 20px rgba(58,36,26,.05);
}
.ref-link-box__label{
  font-size:11px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:#8B786A;margin-bottom:8px;
}
.ref-link-box__row{
  display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;
}
.ref-link-box__input{
  flex:1;min-width:0;
  border:1px solid #EFE4D2;border-radius:10px;
  padding:12px 14px;font-size:13px;font-family:ui-monospace,Menlo,monospace;
  background:#F8F3EA;color:#3A241A;font-weight:600;
  overflow:hidden;text-overflow:ellipsis;
}
.ref-link-box__input:focus{outline:none;border-color:#C9A56A}

/* Stat badge mini */
.badge-mini{
  display:inline-flex;align-items:center;gap:4px;
  font-size:10px;font-weight:700;letter-spacing:.3px;
  padding:3px 7px;border-radius:6px;
}
.badge-mini.pv{background:rgba(201,165,106,.2);color:#3A241A}
.badge-mini.gv{background:rgba(85,116,91,.15);color:#55745B}

/* SVG tree - horizontal connector for empty state */
.tree-empty{
  text-align:center;padding:48px 20px;
}
.tree-empty__icon{
  width:96px;height:96px;border-radius:50%;
  background:linear-gradient(135deg,#F8F3EA,#EFE4D2);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;position:relative;
}
.tree-empty__icon::before,
.tree-empty__icon::after{
  content:"";position:absolute;width:10px;height:10px;border-radius:50%;
  background:#C9A56A;opacity:.4;
}
.tree-empty__icon::before{top:-5px;right:20%}
.tree-empty__icon::after{bottom:20%;left:-5px}
.tree-empty__icon svg{width:44px;height:44px;color:#C9A56A}

@media (max-width:640px){
  .net-hero{padding:20px}
  .net-hero h1{font-size:24px}
  .net-hero__ref-row{flex-direction:column}
  .copy-btn{width:100%;justify-content:center;padding:11px 14px}
  .tips-panel{position:fixed;left:16px;right:16px;top:auto;bottom:90px;width:auto;max-width:none}
  .tips-panel::before{display:none}
  .direct-item__right{display:none}
  .net-toolbar__left{width:100%}
  .net-search{max-width:none;width:100%}
}

/* ============================================================
 * PV PAGE
 * ============================================================ */
.pv-hero{
  background:linear-gradient(135deg,#3A241A 0%,#513528 60%,#2A1A13 100%);
  color:#fff;border-radius:20px;padding:24px;
  position:relative;overflow:hidden;
  box-shadow:0 12px 40px rgba(58,36,26,.25);
  margin-bottom:24px;
}
.pv-hero::before{
  content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(201,165,106,.35) 0%,transparent 70%);
  pointer-events:none;
}
.pv-hero__content{position:relative;z-index:2}
.pv-hero__label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:#C9A56A;
  background:rgba(255,255,255,.05);padding:5px 11px;
  border-radius:9999px;border:1px solid rgba(201,165,106,.3);
}
.pv-hero h1{
  color:#fff;font-family:"Cormorant Garamond",serif;
  font-size:30px;font-weight:700;line-height:1.1;margin:8px 0 8px;
}
.pv-hero p{color:rgba(255,255,255,.75);font-size:13.5px;line-height:1.6;margin:0;max-width:520px}

.pv-hero__main{
  margin-top:24px;padding-top:24px;
  border-top:1px solid rgba(255,255,255,.1);
  display:grid;grid-template-columns:1fr;gap:16px;
}
@media (min-width:640px){
  .pv-hero__main{grid-template-columns:1fr 1fr}
}
.pv-hero__stat .lbl{
  font-size:10.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.6);
  margin-bottom:6px;
}
.pv-hero__stat .val{
  font-family:"Cormorant Garamond",serif;
  font-size:36px;font-weight:700;color:#C9A56A;line-height:1;
}
.pv-hero__stat .sub{
  font-size:12px;color:rgba(255,255,255,.65);
  margin-top:6px;display:flex;align-items:center;gap:6px;
}
.pv-hero__delta{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 8px;border-radius:6px;
  font-size:11px;font-weight:700;
}
.pv-hero__delta.up{background:rgba(85,116,91,.3);color:#A8E0B0}
.pv-hero__delta.down{background:rgba(168,75,69,.3);color:#F0B0AC}
.pv-hero__delta.flat{background:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}

/* Stats grid */
.pv-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;margin-bottom:24px;
}
@media (min-width:768px){
  .pv-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
}
.pv-card{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:14px;padding:16px;
  box-shadow:0 4px 16px rgba(58,36,26,.04);
  transition:transform .2s,box-shadow .2s;
}
.pv-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(58,36,26,.08)}
.pv-card__icon{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:10px;
}
.pv-card__icon svg{width:18px;height:18px}
.pv-card__value{
  font-family:"Cormorant Garamond",serif;
  font-size:28px;font-weight:700;color:#3A241A;line-height:1;
}
.pv-card__label{
  font-size:10.5px;color:#8B786A;text-transform:uppercase;
  letter-spacing:.06em;margin-top:6px;font-weight:600;
}
.pv-card__delta{
  display:inline-flex;align-items:center;gap:3px;
  font-size:11px;font-weight:700;margin-top:6px;
  padding:2px 7px;border-radius:5px;
}
.pv-card__delta.up{background:rgba(85,116,91,.12);color:#2D5A34}
.pv-card__delta.down{background:rgba(168,75,69,.12);color:#8B2B25}
.pv-card__delta.flat{background:#F8F3EA;color:#8B786A}

/* Activity chart */
.pv-chart{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;padding:20px;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
  margin-bottom:24px;
}
.pv-chart__head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:16px;flex-wrap:wrap;gap:8px;
}
.pv-chart__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0;
}
.pv-chart__sub{font-size:12.5px;color:#8B786A;margin-top:2px}
.pv-chart__canvas{
  display:flex;align-items:flex-end;gap:3px;
  height:100px;
}
.pv-chart__bar{
  flex:1;min-width:4px;background:linear-gradient(180deg,#C9A56A,#E4C994);
  border-radius:3px 3px 0 0;
  transition:opacity .2s;
  position:relative;
  cursor:pointer;
}
.pv-chart__bar:hover{opacity:.75}
.pv-chart__bar[data-val]:hover::after{
  content:attr(data-val) " PV";
  position:absolute;bottom:100%;left:50%;transform:translateX(-50%);
  background:#3A241A;color:#C9A56A;font-size:10px;font-weight:700;
  padding:4px 8px;border-radius:6px;white-space:nowrap;
  margin-bottom:4px;pointer-events:none;
}
.pv-chart__bar.empty{background:#F8F3EA}

/* Breakdown */
.pv-breakdown{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;padding:20px;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
  margin-bottom:24px;
}
.pv-breakdown__head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:16px;flex-wrap:wrap;gap:8px;
}
.pv-breakdown__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0;
}
.pv-breakdown__list{display:flex;flex-direction:column;gap:12px}
.pv-breakdown__item{
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;border-radius:12px;
  background:#F8F3EA;border:1px solid #EFE4D2;
}
.pv-breakdown__item:hover{border-color:#C9A56A}
.pv-breakdown__icon{
  width:38px;height:38px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#C9A56A,#E4C994);
  color:#3A241A;
}
.pv-breakdown__icon svg{width:18px;height:18px}
.pv-breakdown__info{flex:1;min-width:0}
.pv-breakdown__name{
  font-weight:600;color:#3A241A;font-size:13.5px;
  text-transform:capitalize;
}
.pv-breakdown__meta{font-size:11.5px;color:#8B786A;margin-top:2px}
.pv-breakdown__val{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;
  text-align:right;flex-shrink:0;
}
.pv-breakdown__val small{
  display:block;font-size:10px;color:#8B786A;
  font-family:Inter,sans-serif;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;
  margin-top:2px;
}
.pv-breakdown__bar{
  height:4px;border-radius:9999px;background:#EFE4D2;
  overflow:hidden;margin-top:8px;
}
.pv-breakdown__bar > div{
  height:100%;background:linear-gradient(90deg,#C9A56A,#E4C994);
  border-radius:9999px;transition:width .8s ease-out;
}

/* History table */
.pv-table-card{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;overflow:hidden;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
}
.pv-table-card__head{
  padding:20px 20px 0;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;
  margin-bottom:12px;
}
.pv-table-card__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0;
}
.pv-table-card__sub{font-size:12.5px;color:#8B786A;margin-top:2px}
.pv-table{
  width:100%;border-collapse:collapse;font-size:13.5px;
}
.pv-table thead{
  background:#F8F3EA;
}
.pv-table thead th{
  text-align:left;padding:11px 16px;
  font-weight:700;font-size:11px;text-transform:uppercase;
  letter-spacing:.06em;color:#8B786A;
  white-space:nowrap;
}
.pv-table thead th.right{text-align:right}
.pv-table tbody td{
  padding:13px 16px;border-top:1px solid #EFE4D2;
  vertical-align:middle;
}
.pv-table tbody tr:hover{background:#FDFBF7}
.pv-table tbody td.right{text-align:right}
.pv-table__date{
  font-family:ui-monospace,Menlo,monospace;
  font-size:12px;color:#8B786A;
  white-space:nowrap;
}
.pv-table__type{
  display:inline-flex;align-items:center;gap:6px;
  font-weight:600;color:#3A241A;font-size:13px;
  text-transform:capitalize;
}
.pv-table__type .dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
}
.pv-table__type .dot.bonus{background:#C9A56A}
.pv-table__type .dot.order{background:#55745B}
.pv-table__type .dot.referral{background:#5B7BA5}
.pv-table__type .dot.adjust{background:#8B786A}
.pv-table__type .dot.default{background:#C9A56A}
.pv-table__order{
  font-family:ui-monospace,Menlo,monospace;
  font-size:11.5px;color:#8B786A;
}
.pv-table__pv{
  font-family:"Cormorant Garamond",serif;
  font-size:20px;font-weight:700;color:#55745B;
  white-space:nowrap;
}
.pv-table__pv.negative{color:#A84B45}
.pv-table__empty{
  text-align:center;padding:48px 20px;
}
.pv-table__empty svg{
  width:52px;height:52px;color:#C9A56A;opacity:.5;
  margin:0 auto 14px;
}
.pv-table__empty h3{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;color:#3A241A;margin:0 0 6px;
}
.pv-table__empty p{color:#8B786A;font-size:13.5px;margin:0}

/* Filter tabs */
.pv-filter{
  display:inline-flex;background:#F8F3EA;border-radius:10px;
  padding:3px;gap:2px;border:1px solid #EFE4D2;
}
.pv-filter button{
  padding:6px 12px;border-radius:8px;border:0;
  background:transparent;font-size:12px;font-weight:600;
  color:#8B786A;cursor:pointer;transition:all .2s;
}
.pv-filter button.active{
  background:#fff;color:#3A241A;
  box-shadow:0 2px 6px rgba(58,36,26,.06);
}

@media (max-width:640px){
  .pv-hero{padding:20px}
  .pv-hero h1{font-size:24px}
  .pv-hero__stat .val{font-size:28px}
  .pv-table thead th:nth-child(3),
  .pv-table tbody td:nth-child(3){display:none} /* Order ref */
  .pv-table thead th,
  .pv-table tbody td{padding:10px 12px}
  .pv-table__pv{font-size:17px}
  .pv-chart{padding:16px}
  .pv-breakdown{padding:16px}
}

/* ============================================================
 * ORDERS PAGE
 * ============================================================ */
.ord-hero{
  background:linear-gradient(135deg,#3A241A 0%,#513528 60%,#2A1A13 100%);
  color:#fff;border-radius:20px;padding:24px;
  position:relative;overflow:hidden;
  box-shadow:0 12px 40px rgba(58,36,26,.25);
  margin-bottom:24px;
}
.ord-hero::before{
  content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.35) 0%,transparent 70%);
  pointer-events:none;
}
.ord-hero__content{position:relative;z-index:2}
.ord-hero__label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:#C9A56A;background:rgba(255,255,255,.05);padding:5px 11px;
  border-radius:9999px;border:1px solid rgba(201,165,106,.3);
}
.ord-hero h1{
  color:#fff;font-family:"Cormorant Garamond",serif;
  font-size:30px;font-weight:700;line-height:1.1;margin:8px 0 8px;
}
.ord-hero p{color:rgba(255,255,255,.75);font-size:13.5px;margin:0;max-width:520px}

/* Order Stats */
.ord-stats{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;
  margin-top:24px;padding-top:24px;
  border-top:1px solid rgba(255,255,255,.1);
}
@media (min-width:640px){.ord-stats{grid-template-columns:repeat(4,1fr)}}
.ord-stat .lbl{
  font-size:10px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:6px;
}
.ord-stat .val{
  font-family:"Cormorant Garamond",serif;
  font-size:26px;font-weight:700;color:#C9A56A;line-height:1;
}
.ord-stat .sub{font-size:11.5px;color:rgba(255,255,255,.6);margin-top:4px}

/* Toolbar */
.ord-toolbar{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  justify-content:space-between;margin-bottom:20px;
}
.ord-tabs{
  display:inline-flex;background:#fff;border:1px solid #EFE4D2;
  border-radius:12px;padding:4px;gap:2px;overflow-x:auto;
  max-width:100%;
}
.ord-tabs::-webkit-scrollbar{display:none}
.ord-tab{
  padding:8px 14px;border-radius:9px;border:0;background:transparent;
  font-size:12.5px;font-weight:600;color:#8B786A;cursor:pointer;
  transition:all .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:5px;
}
.ord-tab:hover{background:#F8F3EA}
.ord-tab.active{background:#3A241A;color:#fff}
.ord-tab .count{
  font-size:10px;background:rgba(201,165,106,.2);
  color:#3A241A;padding:1px 6px;border-radius:9999px;font-weight:700;
}
.ord-tab.active .count{background:#C9A56A;color:#3A241A}

/* Order card list */
.ord-list{display:flex;flex-direction:column;gap:12px}
.ord-item{
  display:flex;flex-direction:column;gap:12px;
  background:#fff;border:1px solid #EFE4D2;border-radius:16px;
  padding:16px;
  transition:border-color .2s,box-shadow .2s;
  text-decoration:none;color:inherit;
}
.ord-item:hover{border-color:#C9A56A;box-shadow:0 8px 24px rgba(58,36,26,.08)}
.ord-item__head{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;flex-wrap:wrap;
}
.ord-item__no{
  font-family:ui-monospace,Menlo,monospace;
  font-size:13px;font-weight:700;color:#3A241A;
}
.ord-item__date{font-size:11.5px;color:#8B786A;margin-top:2px}
.ord-item__body{
  display:flex;align-items:center;gap:16px;
  padding:12px 0;border-top:1px dashed #EFE4D2;border-bottom:1px dashed #EFE4D2;
}
.ord-item__thumb{
  width:56px;height:56px;border-radius:12px;flex-shrink:0;
  background:linear-gradient(135deg,#F8F3EA,#EFE4D2);
  display:flex;align-items:center;justify-content:center;
  font-family:"Cormorant Garamond",serif;font-size:22px;color:#C9A56A;
  overflow:hidden;
}
.ord-item__thumb img{width:100%;height:100%;object-fit:cover}
.ord-item__info{flex:1;min-width:0}
.ord-item__title{
  font-family:"Cormorant Garamond",serif;
  font-size:17px;font-weight:700;color:#3A241A;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ord-item__meta{font-size:12px;color:#8B786A;margin-top:3px}
.ord-item__right{text-align:right;flex-shrink:0}
.ord-item__total{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;line-height:1;
}
.ord-item__pv{font-size:11.5px;color:#C9A56A;font-weight:700;margin-top:4px}
.ord-item__foot{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;flex-wrap:wrap;
}
.ord-item__cta{
  font-size:12.5px;font-weight:700;color:#3A241A;
  display:inline-flex;align-items:center;gap:6px;
}
.ord-item__cta:hover{color:#C9A56A}

/* Status badges */
.ord-badge{
  display:inline-flex;align-items:center;gap:5px;
  font-size:10.5px;font-weight:700;letter-spacing:.5px;
  text-transform:uppercase;padding:4px 10px;border-radius:9999px;
}
.ord-badge.pending{background:#FBF1DC;color:#8B6A2C}
.ord-badge.paid{background:#E8EEF5;color:#2D4A6B}
.ord-badge.completed{background:#E9F3EB;color:#2D5A34}
.ord-badge.cancelled{background:#F8E5E4;color:#8B2B25}

/* Empty state */
.ord-empty{
  text-align:center;padding:56px 20px;
  background:#fff;border:1px solid #EFE4D2;border-radius:16px;
}
.ord-empty__icon{
  width:96px;height:96px;border-radius:50%;
  background:linear-gradient(135deg,#F8F3EA,#EFE4D2);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;
}
.ord-empty__icon svg{width:44px;height:44px;color:#C9A56A}
.ord-empty h3{
  font-family:"Cormorant Garamond",serif;
  font-size:24px;color:#3A241A;margin:0 0 8px;
}
.ord-empty p{color:#8B786A;font-size:14px;max-width:420px;margin:0 auto 20px;line-height:1.6}

/* ============================================================
 * ORDER FORM (create)
 * ============================================================ */
.of-grid{
  display:grid;grid-template-columns:1fr;gap:20px;
}
@media (min-width:1024px){
  .of-grid{grid-template-columns:1fr 380px}
}

.of-type-tabs{
  display:inline-flex;background:#F8F3EA;border:1px solid #EFE4D2;
  border-radius:12px;padding:4px;gap:2px;margin-bottom:20px;
}
.of-type-tab{
  padding:10px 20px;border-radius:9px;border:0;background:transparent;
  font-size:13px;font-weight:600;color:#8B786A;cursor:pointer;
  transition:all .2s;display:inline-flex;align-items:center;gap:6px;
}
.of-type-tab.active{background:#3A241A;color:#fff}
.of-type-tab svg{width:15px;height:15px}

.of-section-title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0 0 4px;
}
.of-section-sub{font-size:12.5px;color:#8B786A;margin:0 0 16px}

/* Product picker */
.of-list{display:flex;flex-direction:column;gap:10px}
.of-item{
  display:flex;align-items:center;gap:14px;
  background:#fff;border:1px solid #EFE4D2;border-radius:14px;
  padding:12px;
  transition:border-color .2s;
}
.of-item:hover{border-color:#C9A56A}
.of-item__thumb{
  width:60px;height:60px;border-radius:12px;flex-shrink:0;
  background:linear-gradient(135deg,#F8F3EA,#EFE4D2);
  display:flex;align-items:center;justify-content:center;
  font-family:"Cormorant Garamond",serif;font-size:22px;color:#C9A56A;
  overflow:hidden;
}
.of-item__thumb img{width:100%;height:100%;object-fit:cover}
.of-item__info{flex:1;min-width:0}
.of-item__name{
  font-family:"Cormorant Garamond",serif;
  font-size:17px;font-weight:700;color:#3A241A;line-height:1.2;
}
.of-item__prices{font-size:12px;color:#8B786A;margin-top:3px;display:flex;gap:10px;flex-wrap:wrap}
.of-item__prices .member{color:#3A241A;font-weight:700}
.of-item__prices .retail{color:#8B786A;text-decoration:line-through}
.of-item__pv{
  font-size:10.5px;font-weight:700;color:#C9A56A;
  background:rgba(201,165,106,.15);
  padding:2px 7px;border-radius:5px;margin-top:5px;
  display:inline-block;
}

/* Qty control */
.of-qty{
  display:inline-flex;align-items:center;
  background:#F8F3EA;border-radius:10px;border:1px solid #EFE4D2;
  overflow:hidden;flex-shrink:0;
}
.of-qty button{
  width:32px;height:32px;border:0;background:transparent;
  color:#3A241A;font-size:16px;font-weight:700;cursor:pointer;
  transition:background .2s;
}
.of-qty button:hover{background:#EFE4D2}
.of-qty input{
  width:40px;height:32px;border:0;background:transparent;
  text-align:center;font-size:13px;font-weight:700;color:#3A241A;
  outline:none;-moz-appearance:textfield;
}
.of-qty input::-webkit-outer-spin-button,
.of-qty input::-webkit-inner-spin-button{-webkit-appearance:none}

/* Package picker */
.of-packages{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:640px){.of-packages{grid-template-columns:repeat(2,1fr)}}
.of-pkg{
  position:relative;background:#fff;border:2px solid #EFE4D2;
  border-radius:14px;padding:16px;cursor:pointer;
  transition:all .2s;
}
.of-pkg:hover{border-color:#C9A56A;transform:translateY(-2px)}
.of-pkg.selected{border-color:#3A241A;background:linear-gradient(135deg,#FDFBF7,#F8F3EA)}
.of-pkg__radio{
  position:absolute;top:12px;right:12px;
  width:20px;height:20px;border-radius:50%;
  border:2px solid #EFE4D2;background:#fff;
  display:flex;align-items:center;justify-content:center;
}
.of-pkg.selected .of-pkg__radio{background:#3A241A;border-color:#3A241A}
.of-pkg.selected .of-pkg__radio::after{
  content:"";width:8px;height:8px;border-radius:50%;background:#C9A56A;
}
.of-pkg__name{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;letter-spacing:.5px;
}
.of-pkg__price{
  font-family:"Cormorant Garamond",serif;
  font-size:26px;font-weight:700;color:#C9A56A;margin-top:4px;line-height:1;
}
.of-pkg__pv{
  display:inline-block;font-size:10px;font-weight:700;letter-spacing:.5px;
  background:rgba(201,165,106,.15);color:#3A241A;
  padding:3px 8px;border-radius:6px;margin-top:6px;
}
.of-pkg__desc{font-size:12.5px;color:#8B786A;margin-top:8px;line-height:1.5}
.of-pkg__items{
  font-size:11.5px;color:#3A241A;margin-top:10px;padding-top:10px;
  border-top:1px dashed #EFE4D2;line-height:1.7;
}
.of-pkg__items strong{color:#C9A56A}

/* Summary sticky */
.of-summary{
  background:#fff;border:1px solid #EFE4D2;border-radius:16px;
  padding:20px;box-shadow:0 4px 20px rgba(58,36,26,.05);
  position:sticky;top:80px;
}
.of-summary__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0 0 16px;
  padding-bottom:14px;border-bottom:1px solid #EFE4D2;
}
.of-summary__row{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 0;font-size:13px;
}
.of-summary__row + .of-summary__row{border-top:1px dashed #EFE4D2}
.of-summary__row.total{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;
  padding-top:14px;margin-top:8px;border-top:2px solid #EFE4D2;
}
.of-summary__row.total span:last-child{color:#C9A56A}
.of-summary__pv{
  display:flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,#F8F3EA,#EFE4D2);
  padding:10px 14px;border-radius:10px;margin:14px 0;
  font-size:13px;font-weight:700;color:#3A241A;
}
.of-summary__pv svg{color:#C9A56A}

.of-empty-cart{
  text-align:center;padding:40px 16px;
  color:#8B786A;font-size:13px;
}
.of-empty-cart svg{width:40px;height:40px;color:#C9A56A;opacity:.5;margin:0 auto 10px}

/* ============================================================
 * PAYMENT PAGE
 * ============================================================ */
.pay-grid{
  display:grid;grid-template-columns:1fr;gap:20px;
}
@media (min-width:1024px){.pay-grid{grid-template-columns:1fr 400px}}

.pay-card{
  background:#fff;border:1px solid #EFE4D2;border-radius:16px;
  padding:20px;box-shadow:0 4px 20px rgba(58,36,26,.05);
}
.pay-card + .pay-card{margin-top:16px}

.pay-card__title{
  font-family:"Cormorant Garamond",serif;
  font-size:20px;font-weight:700;color:#3A241A;margin:0 0 4px;
  display:flex;align-items:center;gap:8px;
}
.pay-card__sub{font-size:12.5px;color:#8B786A;margin:0 0 16px}

.pay-bank{
  background:linear-gradient(135deg,#3A241A,#513528);color:#fff;
  border-radius:14px;padding:20px;position:relative;overflow:hidden;
  margin-bottom:16px;
}
.pay-bank::after{
  content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.3) 0%,transparent 70%);
}
.pay-bank__label{
  font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.6);margin-bottom:6px;
}
.pay-bank__name{
  font-family:"Cormorant Garamond",serif;
  font-size:24px;font-weight:700;color:#C9A56A;margin-bottom:12px;
}
.pay-bank__row{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 0;border-top:1px solid rgba(255,255,255,.1);
  font-size:13px;position:relative;z-index:1;
}
.pay-bank__row .label{color:rgba(255,255,255,.6);font-size:11.5px}
.pay-bank__row .value{font-family:ui-monospace,Menlo,monospace;font-weight:700;color:#fff}

.pay-method-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px;
}
.pay-method{
  padding:12px;border:2px solid #EFE4D2;border-radius:12px;
  background:#fff;cursor:pointer;transition:all .2s;
  display:flex;flex-direction:column;align-items:center;gap:4px;
  font-size:11.5px;font-weight:600;color:#3A241A;
  text-align:center;
}
.pay-method:hover{border-color:#C9A56A}
.pay-method.active{border-color:#3A241A;background:linear-gradient(135deg,#FDFBF7,#F8F3EA)}
.pay-method svg{width:20px;height:20px;color:#C9A56A}

.pay-upload{
  border:2px dashed #C9A56A;border-radius:12px;
  background:#F8F3EA;padding:24px 16px;text-align:center;
  cursor:pointer;transition:background .2s;
  margin-bottom:16px;
}
.pay-upload:hover{background:#EFE4D2}
.pay-upload input[type=file]{display:none}
.pay-upload svg{width:36px;height:36px;color:#C9A56A;margin:0 auto 8px}
.pay-upload__label{font-size:13px;font-weight:700;color:#3A241A}
.pay-upload__hint{font-size:11.5px;color:#8B786A;margin-top:4px}
.pay-upload__preview{
  margin-top:12px;display:none;
}
.pay-upload__preview img{
  max-height:160px;border-radius:10px;margin:0 auto;
  border:1px solid #EFE4D2;
}

.pay-success{
  text-align:center;padding:20px;
}
.pay-success__icon{
  width:72px;height:72px;border-radius:50%;
  background:#E9F3EB;display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px;
}
.pay-success__icon svg{width:36px;height:36px;color:#55745B}
.pay-success h3{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;color:#3A241A;margin:0 0 6px;
}
.pay-success p{color:#8B786A;font-size:13px;margin:0}

/* Order detail */
.detail-card{
  background:#fff;border:1px solid #EFE4D2;border-radius:16px;
  padding:20px;box-shadow:0 4px 20px rgba(58,36,26,.05);
}
.detail-row{
  display:flex;justify-content:space-between;padding:8px 0;
  font-size:13.5px;border-bottom:1px dashed #EFE4D2;
}
.detail-row:last-child{border-bottom:0}
.detail-row .label{color:#8B786A}
.detail-row .value{color:#3A241A;font-weight:600;text-align:right}

@media (max-width:640px){
  .ord-item__body{flex-wrap:wrap}
  .ord-item__right{text-align:left}
  .of-summary{position:static}
  .pay-method-grid{grid-template-columns:1fr}
}

/* ============================================================
 * GV PAGE
 * ============================================================ */
.gv-hero{
  background:linear-gradient(135deg,#3A241A 0%,#513528 60%,#2A1A13 100%);
  color:#fff;border-radius:20px;padding:24px;
  position:relative;overflow:hidden;
  box-shadow:0 12px 40px rgba(58,36,26,.25);
  margin-bottom:24px;
}
.gv-hero::before{
  content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.35) 0%,transparent 70%);
  pointer-events:none;
}
.gv-hero__content{position:relative;z-index:2}
.gv-hero__label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:#C9A56A;background:rgba(255,255,255,.05);padding:5px 11px;
  border-radius:9999px;border:1px solid rgba(201,165,106,.3);
}
.gv-hero h1{
  color:#fff;font-family:"Cormorant Garamond",serif;
  font-size:30px;font-weight:700;line-height:1.1;margin:8px 0 8px;
}
.gv-hero p{color:rgba(255,255,255,.75);font-size:13.5px;line-height:1.6;margin:0;max-width:520px}

.gv-hero__main{
  margin-top:24px;padding-top:24px;
  border-top:1px solid rgba(255,255,255,.1);
  display:grid;grid-template-columns:1fr;gap:16px;
}
@media (min-width:640px){.gv-hero__main{grid-template-columns:1fr 1fr}}
.gv-hero__stat .lbl{
  font-size:10.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:6px;
}
.gv-hero__stat .val{
  font-family:"Cormorant Garamond",serif;
  font-size:36px;font-weight:700;color:#C9A56A;line-height:1;
}
.gv-hero__stat .sub{
  font-size:12px;color:rgba(255,255,255,.65);
  margin-top:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.gv-hero__delta{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 8px;border-radius:6px;font-size:11px;font-weight:700;
}
.gv-hero__delta.up{background:rgba(85,116,91,.3);color:#A8E0B0}
.gv-hero__delta.down{background:rgba(168,75,69,.3);color:#F0B0AC}
.gv-hero__delta.flat{background:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}

/* Stats grid */
.gv-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;margin-bottom:24px;
}
@media (min-width:768px){.gv-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}

.gv-card{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:14px;padding:16px;
  box-shadow:0 4px 16px rgba(58,36,26,.04);
  transition:transform .2s,box-shadow .2s;
}
.gv-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(58,36,26,.08)}
.gv-card__icon{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:10px;
}
.gv-card__icon svg{width:18px;height:18px}
.gv-card__value{
  font-family:"Cormorant Garamond",serif;
  font-size:28px;font-weight:700;color:#3A241A;line-height:1;
}
.gv-card__label{
  font-size:10.5px;color:#8B786A;text-transform:uppercase;
  letter-spacing:.06em;margin-top:6px;font-weight:600;
}
.gv-card__delta{
  display:inline-flex;align-items:center;gap:3px;
  font-size:11px;font-weight:700;margin-top:6px;
  padding:2px 7px;border-radius:5px;
}
.gv-card__delta.up{background:rgba(85,116,91,.12);color:#2D5A34}
.gv-card__delta.down{background:rgba(168,75,69,.12);color:#8B2B25}
.gv-card__delta.flat{background:#F8F3EA;color:#8B786A}

/* ============================================================
 * BINARY LEGS VISUAL
 * ============================================================ */
.legs-panel{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;padding:20px;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
  margin-bottom:24px;
}
.legs-panel__head{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:8px;margin-bottom:20px;
}
.legs-panel__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0;
}
.legs-panel__sub{font-size:12.5px;color:#8B786A;margin-top:2px}

.legs-visual{
  display:grid;grid-template-columns:1fr auto 1fr;
  gap:12px;align-items:center;
}
.leg-card{
  background:#F8F3EA;border:1px solid #EFE4D2;
  border-radius:14px;padding:16px;
  position:relative;overflow:hidden;
  transition:border-color .2s;
}
.leg-card.left{border-left:4px solid #5B7BA5}
.leg-card.right{border-left:4px solid #C9A56A}
.leg-card:hover{border-color:#C9A56A}
.leg-card__head{
  display:flex;align-items:center;gap:8px;margin-bottom:10px;
}
.leg-card__badge{
  width:28px;height:28px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;color:#fff;
  font-family:"Cormorant Garamond",serif;
}
.leg-card__badge.left{background:#5B7BA5}
.leg-card__badge.right{background:#C9A56A;color:#3A241A}
.leg-card__name{
  font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:#3A241A;
}
.leg-card__value{
  font-family:"Cormorant Garamond",serif;
  font-size:34px;font-weight:700;color:#3A241A;line-height:1;
}
.leg-card__label{
  font-size:11px;color:#8B786A;margin-top:4px;font-weight:600;
}
.leg-card__members{
  display:flex;align-items:center;gap:5px;
  font-size:11.5px;color:#8B786A;margin-top:10px;
  padding-top:10px;border-top:1px dashed #EFE4D2;
}

.legs-pair{
  text-align:center;padding:0 8px;
}
.legs-pair__icon{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,#C9A56A,#E4C994);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 8px;
  box-shadow:0 4px 12px rgba(201,165,106,.35);
}
.legs-pair__icon svg{width:22px;height:22px;color:#3A241A}
.legs-pair__label{
  font-size:10px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:#8B786A;
}
.legs-pair__value{
  font-family:"Cormorant Garamond",serif;
  font-size:20px;font-weight:700;color:#C9A56A;line-height:1;
  margin-top:2px;
}

@media (max-width:640px){
  .legs-visual{grid-template-columns:1fr;gap:8px}
  .legs-pair{order:-1;margin-bottom:8px}
  .leg-card{padding:14px}
  .leg-card__value{font-size:28px}
}

/* ============================================================
 * PAIRING & BONUS BOX
 * ============================================================ */
.pairing-box{
  background:linear-gradient(135deg,#3A241A 0%,#513528 100%);
  color:#fff;border-radius:16px;padding:24px;
  position:relative;overflow:hidden;
  margin-bottom:24px;
}
.pairing-box::before{
  content:"";position:absolute;right:-40px;bottom:-40px;width:180px;height:180px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.25) 0%,transparent 70%);
}
.pairing-box__content{position:relative;z-index:1}
.pairing-box__label{
  font-size:11px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:#C9A56A;margin-bottom:6px;
}
.pairing-box__title{
  font-family:"Cormorant Garamond",serif;
  font-size:24px;font-weight:700;color:#fff;margin:0 0 16px;
}
.pairing-box__grid{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
}
@media (min-width:640px){.pairing-box__grid{grid-template-columns:repeat(3,1fr)}}
.pairing-box__item .lbl{
  font-size:10.5px;color:rgba(255,255,255,.6);
  text-transform:uppercase;letter-spacing:.06em;font-weight:600;
  margin-bottom:6px;
}
.pairing-box__item .val{
  font-family:"Cormorant Garamond",serif;
  font-size:26px;font-weight:700;color:#E4C994;line-height:1;
}
.pairing-box__item .sub{font-size:11px;color:rgba(255,255,255,.55);margin-top:3px}

.pairing-box__cap{
  margin-top:20px;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.1);
}
.pairing-box__cap-head{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:8px;
}
.pairing-box__cap-label{font-size:12px;color:rgba(255,255,255,.75)}
.pairing-box__cap-value{
  font-family:"Cormorant Garamond",serif;
  font-size:16px;font-weight:700;color:#E4C994;
}
.pairing-box__cap-track{
  height:8px;background:rgba(255,255,255,.12);border-radius:9999px;
  overflow:hidden;
}
.pairing-box__cap-bar{
  height:100%;background:linear-gradient(90deg,#C9A56A,#E4C994);
  border-radius:9999px;transition:width .8s ease-out;
  min-width:4px;
}
.pairing-box__cap-note{
  font-size:11px;color:rgba(255,255,255,.55);
  margin-top:8px;line-height:1.5;
}

/* ============================================================
 * LEVEL BREAKDOWN
 * ============================================================ */
.level-list{display:flex;flex-direction:column;gap:10px}
.level-item{
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;border-radius:12px;
  background:#F8F3EA;border:1px solid #EFE4D2;
  transition:border-color .2s;
}
.level-item:hover{border-color:#C9A56A}
.level-item__badge{
  width:42px;height:42px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#C9A56A,#E4C994);
  color:#3A241A;font-family:"Cormorant Garamond",serif;
  font-weight:700;font-size:16px;
}
.level-item__info{flex:1;min-width:0}
.level-item__name{
  font-weight:600;color:#3A241A;font-size:13.5px;
}
.level-item__meta{font-size:11.5px;color:#8B786A;margin-top:2px}
.level-item__bar{
  height:4px;border-radius:9999px;background:#EFE4D2;
  overflow:hidden;margin-top:6px;
}
.level-item__bar > div{
  height:100%;background:linear-gradient(90deg,#C9A56A,#E4C994);
  border-radius:9999px;transition:width .8s ease-out;
}
.level-item__val{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;
  text-align:right;flex-shrink:0;
}
.level-item__val small{
  display:block;font-size:10px;color:#8B786A;
  font-family:Inter,sans-serif;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;margin-top:2px;
}

/* ============================================================
 * GV CHART
 * ============================================================ */
.gv-chart{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;padding:20px;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
  margin-bottom:24px;
}
.gv-chart__head{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:8px;margin-bottom:16px;
}
.gv-chart__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0;
}
.gv-chart__sub{font-size:12.5px;color:#8B786A;margin-top:2px}
.gv-chart__canvas{
  display:flex;align-items:flex-end;gap:3px;height:100px;
}
.gv-chart__bar{
  flex:1;min-width:4px;
  background:linear-gradient(180deg,#C9A56A,#E4C994);
  border-radius:3px 3px 0 0;
  transition:opacity .2s;cursor:pointer;position:relative;
}
.gv-chart__bar:hover{opacity:.75}
.gv-chart__bar[data-val]:hover::after{
  content:attr(data-val) " GV";
  position:absolute;bottom:100%;left:50%;transform:translateX(-50%);
  background:#3A241A;color:#C9A56A;font-size:10px;font-weight:700;
  padding:4px 8px;border-radius:6px;white-space:nowrap;
  margin-bottom:4px;pointer-events:none;
}
.gv-chart__bar.empty{background:#F8F3EA}

/* ============================================================
 * GV TABLE
 * ============================================================ */
.gv-table-card{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;overflow:hidden;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
}
.gv-table-card__head{
  padding:20px 20px 0;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;margin-bottom:12px;
}
.gv-table-card__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0;
}
.gv-table-card__sub{font-size:12.5px;color:#8B786A;margin-top:2px}

.gv-table{width:100%;border-collapse:collapse;font-size:13.5px}
.gv-table thead{background:#F8F3EA}
.gv-table thead th{
  text-align:left;padding:11px 16px;
  font-weight:700;font-size:11px;text-transform:uppercase;
  letter-spacing:.06em;color:#8B786A;white-space:nowrap;
}
.gv-table thead th.right{text-align:right}
.gv-table tbody td{
  padding:13px 16px;border-top:1px solid #EFE4D2;
  vertical-align:middle;
}
.gv-table tbody tr:hover{background:#FDFBF7}
.gv-table tbody td.right{text-align:right}
.gv-table__date{
  font-family:ui-monospace,Menlo,monospace;
  font-size:12px;color:#8B786A;white-space:nowrap;
}
.gv-table__from{
  display:flex;align-items:center;gap:8px;
}
.gv-table__avatar{
  width:32px;height:32px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:"Cormorant Garamond",serif;font-weight:700;font-size:13px;
  background:linear-gradient(135deg,#C9A56A,#E4C994);color:#3A241A;
}
.gv-table__name{
  font-weight:600;color:#3A241A;font-size:13px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.gv-table__id{font-size:11px;color:#8B786A}
.gv-table__level{
  display:inline-flex;align-items:center;gap:4px;
  font-size:11px;font-weight:700;color:#3A241A;
  background:rgba(201,165,106,.2);
  padding:3px 8px;border-radius:6px;
}
.gv-table__gv{
  font-family:"Cormorant Garamond",serif;
  font-size:20px;font-weight:700;color:#C9A56A;
  white-space:nowrap;
}
.gv-table__empty{
  text-align:center;padding:48px 20px;
}
.gv-table__empty svg{
  width:52px;height:52px;color:#C9A56A;opacity:.5;
  margin:0 auto 14px;
}
.gv-table__empty h3{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;color:#3A241A;margin:0 0 6px;
}
.gv-table__empty p{color:#8B786A;font-size:13.5px;margin:0}

@media (max-width:640px){
  .gv-hero{padding:20px}
  .gv-hero h1{font-size:24px}
  .gv-hero__stat .val{font-size:28px}
  .gv-table thead th:nth-child(3),
  .gv-table tbody td:nth-child(3){display:none}
  .gv-table thead th,
  .gv-table tbody td{padding:10px 12px}
  .gv-table__gv{font-size:17px}
  .gv-chart{padding:16px}
}

/* ============================================================
 * BONUS PAGE
 * ============================================================ */
.bns-hero{
  background:linear-gradient(135deg,#3A241A 0%,#513528 60%,#2A1A13 100%);
  color:#fff;border-radius:20px;padding:24px;
  position:relative;overflow:hidden;
  box-shadow:0 12px 40px rgba(58,36,26,.25);
  margin-bottom:24px;
}
.bns-hero::before{
  content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.35) 0%,transparent 70%);
  pointer-events:none;
}
.bns-hero__content{position:relative;z-index:2}
.bns-hero__label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:#C9A56A;background:rgba(255,255,255,.05);padding:5px 11px;
  border-radius:9999px;border:1px solid rgba(201,165,106,.3);
}
.bns-hero h1{
  color:#fff;font-family:"Cormorant Garamond",serif;
  font-size:30px;font-weight:700;line-height:1.1;margin:8px 0 8px;
}
.bns-hero p{color:rgba(255,255,255,.75);font-size:13.5px;line-height:1.6;margin:0;max-width:520px}

.bns-hero__main{
  margin-top:24px;padding-top:24px;
  border-top:1px solid rgba(255,255,255,.1);
  display:grid;grid-template-columns:1fr;gap:16px;
}
@media (min-width:640px){.bns-hero__main{grid-template-columns:1fr 1fr}}
.bns-hero__stat .lbl{
  font-size:10.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:6px;
}
.bns-hero__stat .val{
  font-family:"Cormorant Garamond",serif;
  font-size:32px;font-weight:700;color:#C9A56A;line-height:1;
}
.bns-hero__stat .sub{
  font-size:12px;color:rgba(255,255,255,.65);
  margin-top:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.bns-hero__delta{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 8px;border-radius:6px;font-size:11px;font-weight:700;
}
.bns-hero__delta.up{background:rgba(85,116,91,.3);color:#A8E0B0}
.bns-hero__delta.down{background:rgba(168,75,69,.3);color:#F0B0AC}
.bns-hero__delta.flat{background:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}

/* Stats grid */
.bns-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;margin-bottom:24px;
}
@media (min-width:768px){.bns-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}

.bns-card{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:14px;padding:16px;
  box-shadow:0 4px 16px rgba(58,36,26,.04);
  transition:transform .2s,box-shadow .2s;
}
.bns-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(58,36,26,.08)}
.bns-card__icon{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:10px;
}
.bns-card__icon svg{width:18px;height:18px}
.bns-card__value{
  font-family:"Cormorant Garamond",serif;
  font-size:26px;font-weight:700;color:#3A241A;line-height:1;
}
.bns-card__label{
  font-size:10.5px;color:#8B786A;text-transform:uppercase;
  letter-spacing:.06em;margin-top:6px;font-weight:600;
}
.bns-card__delta{
  display:inline-flex;align-items:center;gap:3px;
  font-size:11px;font-weight:700;margin-top:6px;
  padding:2px 7px;border-radius:5px;
}
.bns-card__delta.up{background:rgba(85,116,91,.12);color:#2D5A34}
.bns-card__delta.down{background:rgba(168,75,69,.12);color:#8B2B25}
.bns-card__delta.flat{background:#F8F3EA;color:#8B786A}
.bns-card__delta.warn{background:rgba(201,165,106,.18);color:#5C4420}

/* Breakdown list */
.bns-breakdown{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;padding:20px;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
  margin-bottom:24px;
}
.bns-breakdown__head{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:8px;margin-bottom:16px;
}
.bns-breakdown__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0;
}
.bns-breakdown__sub{font-size:12.5px;color:#8B786A;margin-top:2px}

.bns-bd-list{display:flex;flex-direction:column;gap:12px}
.bns-bd-item{
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;border-radius:12px;
  background:#F8F3EA;border:1px solid #EFE4D2;
  transition:border-color .2s;
}
.bns-bd-item:hover{border-color:#C9A56A}
.bns-bd-icon{
  width:42px;height:42px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  color:#fff;
}
.bns-bd-icon svg{width:20px;height:20px}
.bns-bd-info{flex:1;min-width:0}
.bns-bd-name{
  font-weight:600;color:#3A241A;font-size:13.5px;
  text-transform:capitalize;
}
.bns-bd-meta{font-size:11.5px;color:#8B786A;margin-top:2px}
.bns-bd-bar{
  height:4px;border-radius:9999px;background:#EFE4D2;
  overflow:hidden;margin-top:8px;
}
.bns-bd-bar > div{
  height:100%;background:linear-gradient(90deg,#C9A56A,#E4C994);
  border-radius:9999px;transition:width .8s ease-out;
}
.bns-bd-val{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;
  text-align:right;flex-shrink:0;
}
.bns-bd-val small{
  display:block;font-size:10px;color:#8B786A;
  font-family:Inter,sans-serif;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;margin-top:2px;
}
.bns-bd-val .pending{
  font-size:10.5px;color:#8B6A2C;font-weight:600;
  display:block;margin-top:2px;
}

/* Chart */
.bns-chart{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;padding:20px;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
  margin-bottom:24px;
}
.bns-chart__head{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:8px;margin-bottom:16px;
}
.bns-chart__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0;
}
.bns-chart__sub{font-size:12.5px;color:#8B786A;margin-top:2px}
.bns-chart__canvas{
  display:flex;align-items:flex-end;gap:3px;height:100px;
}
.bns-chart__bar{
  flex:1;min-width:4px;
  background:linear-gradient(180deg,#C9A56A,#E4C994);
  border-radius:3px 3px 0 0;
  transition:opacity .2s;cursor:pointer;position:relative;
}
.bns-chart__bar:hover{opacity:.75}
.bns-chart__bar[data-val]:hover::after{
  content:attr(data-val);
  position:absolute;bottom:100%;left:50%;transform:translateX(-50%);
  background:#3A241A;color:#C9A56A;font-size:10px;font-weight:700;
  padding:4px 8px;border-radius:6px;white-space:nowrap;
  margin-bottom:4px;pointer-events:none;
}
.bns-chart__bar.empty{background:#F8F3EA}

/* Pairing info box */
.bns-pairing{
  background:linear-gradient(135deg,#3A241A 0%,#513528 100%);
  color:#fff;border-radius:16px;padding:20px;
  margin-bottom:24px;position:relative;overflow:hidden;
}
.bns-pairing::before{
  content:"";position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.25) 0%,transparent 70%);
}
.bns-pairing__content{position:relative;z-index:1}
.bns-pairing__label{
  font-size:10.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:#C9A56A;margin-bottom:6px;
}
.bns-pairing__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#fff;margin:0 0 14px;
}
.bns-pairing__grid{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.bns-pairing__item .lbl{
  font-size:10px;color:rgba(255,255,255,.6);
  text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:4px;
}
.bns-pairing__item .val{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#E4C994;line-height:1;
}
.bns-pairing__cap{
  margin-top:16px;padding-top:16px;
  border-top:1px solid rgba(255,255,255,.1);
}
.bns-pairing__cap-head{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;
}
.bns-pairing__cap-label{font-size:12px;color:rgba(255,255,255,.75)}
.bns-pairing__cap-value{
  font-family:"Cormorant Garamond",serif;
  font-size:16px;font-weight:700;color:#E4C994;
}
.bns-pairing__cap-track{
  height:8px;background:rgba(255,255,255,.12);border-radius:9999px;overflow:hidden;
}
.bns-pairing__cap-bar{
  height:100%;background:linear-gradient(90deg,#C9A56A,#E4C994);
  border-radius:9999px;transition:width .8s ease-out;min-width:4px;
}

/* History table */
.bns-table-card{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;overflow:hidden;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
}
.bns-table-card__head{
  padding:20px 20px 0;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;margin-bottom:12px;
}
.bns-table-card__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0;
}
.bns-table-card__sub{font-size:12.5px;color:#8B786A;margin-top:2px}

.bns-table{width:100%;border-collapse:collapse;font-size:13.5px}
.bns-table thead{background:#F8F3EA}
.bns-table thead th{
  text-align:left;padding:11px 16px;
  font-weight:700;font-size:11px;text-transform:uppercase;
  letter-spacing:.06em;color:#8B786A;white-space:nowrap;
}
.bns-table thead th.right{text-align:right}
.bns-table tbody td{
  padding:13px 16px;border-top:1px solid #EFE4D2;
  vertical-align:middle;
}
.bns-table tbody tr:hover{background:#FDFBF7}
.bns-table tbody td.right{text-align:right}
.bns-table__date{
  font-family:ui-monospace,Menlo,monospace;
  font-size:12px;color:#8B786A;white-space:nowrap;
}
.bns-table__type{
  display:inline-flex;align-items:center;gap:6px;
  font-weight:600;color:#3A241A;font-size:13px;
  text-transform:capitalize;
}
.bns-table__type .dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
}
.bns-table__type .dot.retail{background:#55745B}
.bns-table__type .dot.direct{background:#5B7BA5}
.bns-table__type .dot.binary{background:#C9A56A}
.bns-table__type .dot.leadership{background:#8B786A}
.bns-table__type .dot.reward{background:#A84B45}
.bns-table__type .dot.default{background:#C9A56A}
.bns-table__ref{
  font-family:ui-monospace,Menlo,monospace;
  font-size:11.5px;color:#8B786A;
}
.bns-table__amount{
  font-family:"Cormorant Garamond",serif;
  font-size:20px;font-weight:700;color:#55745B;
  white-space:nowrap;
}
.bns-table__amount.negative{color:#A84B45}
.bns-table__empty{
  text-align:center;padding:48px 20px;
}
.bns-table__empty svg{
  width:52px;height:52px;color:#C9A56A;opacity:.5;
  margin:0 auto 14px;
}
.bns-table__empty h3{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;color:#3A241A;margin:0 0 6px;
}
.bns-table__empty p{color:#8B786A;font-size:13.5px;margin:0}

/* Filter */
.bns-filter{
  display:inline-flex;background:#F8F3EA;border-radius:10px;
  padding:3px;gap:2px;border:1px solid #EFE4D2;
}
.bns-filter button{
  padding:6px 12px;border-radius:8px;border:0;
  background:transparent;font-size:12px;font-weight:600;
  color:#8B786A;cursor:pointer;transition:all .2s;
}
.bns-filter button.active{
  background:#fff;color:#3A241A;
  box-shadow:0 2px 6px rgba(58,36,26,.06);
}

@media (max-width:640px){
  .bns-hero{padding:20px}
  .bns-hero h1{font-size:24px}
  .bns-hero__stat .val{font-size:26px}
  .bns-table thead th:nth-child(3),
  .bns-table tbody td:nth-child(3){display:none}
  .bns-table thead th,
  .bns-table tbody td{padding:10px 12px}
  .bns-table__amount{font-size:17px}
  .bns-chart{padding:16px}
  .bns-breakdown{padding:16px}
}

/* ============================================================
 * BONUS PAGE
 * ============================================================ */
.bns-hero{
  background:linear-gradient(135deg,#3A241A 0%,#513528 60%,#2A1A13 100%);
  color:#fff;border-radius:20px;padding:24px;
  position:relative;overflow:hidden;
  box-shadow:0 12px 40px rgba(58,36,26,.25);
  margin-bottom:24px;
}
.bns-hero::before{
  content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.35) 0%,transparent 70%);
  pointer-events:none;
}
.bns-hero__content{position:relative;z-index:2}
.bns-hero__label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:#C9A56A;background:rgba(255,255,255,.05);padding:5px 11px;
  border-radius:9999px;border:1px solid rgba(201,165,106,.3);
}
.bns-hero h1{
  color:#fff;font-family:"Cormorant Garamond",serif;
  font-size:30px;font-weight:700;line-height:1.1;margin:8px 0 8px;
}
.bns-hero p{color:rgba(255,255,255,.75);font-size:13.5px;line-height:1.6;margin:0;max-width:520px}

.bns-hero__main{
  margin-top:24px;padding-top:24px;
  border-top:1px solid rgba(255,255,255,.1);
  display:grid;grid-template-columns:1fr;gap:16px;
}
@media (min-width:640px){.bns-hero__main{grid-template-columns:1fr 1fr}}
.bns-hero__stat .lbl{
  font-size:10.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:6px;
}
.bns-hero__stat .val{
  font-family:"Cormorant Garamond",serif;
  font-size:32px;font-weight:700;color:#C9A56A;line-height:1;
}
.bns-hero__stat .sub{
  font-size:12px;color:rgba(255,255,255,.65);
  margin-top:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.bns-hero__delta{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 8px;border-radius:6px;font-size:11px;font-weight:700;
}
.bns-hero__delta.up{background:rgba(85,116,91,.3);color:#A8E0B0}
.bns-hero__delta.down{background:rgba(168,75,69,.3);color:#F0B0AC}
.bns-hero__delta.flat{background:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}

/* Stats grid */
.bns-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;margin-bottom:24px;
}
@media (min-width:768px){.bns-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}

.bns-card{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:14px;padding:16px;
  box-shadow:0 4px 16px rgba(58,36,26,.04);
  transition:transform .2s,box-shadow .2s;
}
.bns-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(58,36,26,.08)}
.bns-card__icon{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:10px;
}
.bns-card__icon svg{width:18px;height:18px}
.bns-card__value{
  font-family:"Cormorant Garamond",serif;
  font-size:26px;font-weight:700;color:#3A241A;line-height:1;
}
.bns-card__label{
  font-size:10.5px;color:#8B786A;text-transform:uppercase;
  letter-spacing:.06em;margin-top:6px;font-weight:600;
}
.bns-card__delta{
  display:inline-flex;align-items:center;gap:3px;
  font-size:11px;font-weight:700;margin-top:6px;
  padding:2px 7px;border-radius:5px;
}
.bns-card__delta.up{background:rgba(85,116,91,.12);color:#2D5A34}
.bns-card__delta.down{background:rgba(168,75,69,.12);color:#8B2B25}
.bns-card__delta.flat{background:#F8F3EA;color:#8B786A}
.bns-card__delta.warn{background:rgba(201,165,106,.18);color:#5C4420}

/* Breakdown list */
.bns-breakdown{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;padding:20px;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
  margin-bottom:24px;
}
.bns-breakdown__head{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:8px;margin-bottom:16px;
}
.bns-breakdown__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0;
}
.bns-breakdown__sub{font-size:12.5px;color:#8B786A;margin-top:2px}

.bns-bd-list{display:flex;flex-direction:column;gap:12px}
.bns-bd-item{
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;border-radius:12px;
  background:#F8F3EA;border:1px solid #EFE4D2;
  transition:border-color .2s;
}
.bns-bd-item:hover{border-color:#C9A56A}
.bns-bd-icon{
  width:42px;height:42px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  color:#fff;
}
.bns-bd-icon svg{width:20px;height:20px}
.bns-bd-info{flex:1;min-width:0}
.bns-bd-name{
  font-weight:600;color:#3A241A;font-size:13.5px;
  text-transform:capitalize;
}
.bns-bd-meta{font-size:11.5px;color:#8B786A;margin-top:2px}
.bns-bd-bar{
  height:4px;border-radius:9999px;background:#EFE4D2;
  overflow:hidden;margin-top:8px;
}
.bns-bd-bar > div{
  height:100%;background:linear-gradient(90deg,#C9A56A,#E4C994);
  border-radius:9999px;transition:width .8s ease-out;
}
.bns-bd-val{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;
  text-align:right;flex-shrink:0;
}
.bns-bd-val small{
  display:block;font-size:10px;color:#8B786A;
  font-family:Inter,sans-serif;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;margin-top:2px;
}
.bns-bd-val .pending{
  font-size:10.5px;color:#8B6A2C;font-weight:600;
  display:block;margin-top:2px;
}

/* Chart */
.bns-chart{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;padding:20px;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
  margin-bottom:24px;
}
.bns-chart__head{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:8px;margin-bottom:16px;
}
.bns-chart__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0;
}
.bns-chart__sub{font-size:12.5px;color:#8B786A;margin-top:2px}
.bns-chart__canvas{
  display:flex;align-items:flex-end;gap:3px;height:100px;
}
.bns-chart__bar{
  flex:1;min-width:4px;
  background:linear-gradient(180deg,#C9A56A,#E4C994);
  border-radius:3px 3px 0 0;
  transition:opacity .2s;cursor:pointer;position:relative;
}
.bns-chart__bar:hover{opacity:.75}
.bns-chart__bar[data-val]:hover::after{
  content:attr(data-val);
  position:absolute;bottom:100%;left:50%;transform:translateX(-50%);
  background:#3A241A;color:#C9A56A;font-size:10px;font-weight:700;
  padding:4px 8px;border-radius:6px;white-space:nowrap;
  margin-bottom:4px;pointer-events:none;
}
.bns-chart__bar.empty{background:#F8F3EA}

/* Pairing info box */
.bns-pairing{
  background:linear-gradient(135deg,#3A241A 0%,#513528 100%);
  color:#fff;border-radius:16px;padding:20px;
  margin-bottom:24px;position:relative;overflow:hidden;
}
.bns-pairing::before{
  content:"";position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.25) 0%,transparent 70%);
}
.bns-pairing__content{position:relative;z-index:1}
.bns-pairing__label{
  font-size:10.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:#C9A56A;margin-bottom:6px;
}
.bns-pairing__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#fff;margin:0 0 14px;
}
.bns-pairing__grid{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.bns-pairing__item .lbl{
  font-size:10px;color:rgba(255,255,255,.6);
  text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:4px;
}
.bns-pairing__item .val{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#E4C994;line-height:1;
}
.bns-pairing__cap{
  margin-top:16px;padding-top:16px;
  border-top:1px solid rgba(255,255,255,.1);
}
.bns-pairing__cap-head{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;
}
.bns-pairing__cap-label{font-size:12px;color:rgba(255,255,255,.75)}
.bns-pairing__cap-value{
  font-family:"Cormorant Garamond",serif;
  font-size:16px;font-weight:700;color:#E4C994;
}
.bns-pairing__cap-track{
  height:8px;background:rgba(255,255,255,.12);border-radius:9999px;overflow:hidden;
}
.bns-pairing__cap-bar{
  height:100%;background:linear-gradient(90deg,#C9A56A,#E4C994);
  border-radius:9999px;transition:width .8s ease-out;min-width:4px;
}

/* History table */
.bns-table-card{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;overflow:hidden;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
}
.bns-table-card__head{
  padding:20px 20px 0;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;margin-bottom:12px;
}
.bns-table-card__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0;
}
.bns-table-card__sub{font-size:12.5px;color:#8B786A;margin-top:2px}

.bns-table{width:100%;border-collapse:collapse;font-size:13.5px}
.bns-table thead{background:#F8F3EA}
.bns-table thead th{
  text-align:left;padding:11px 16px;
  font-weight:700;font-size:11px;text-transform:uppercase;
  letter-spacing:.06em;color:#8B786A;white-space:nowrap;
}
.bns-table thead th.right{text-align:right}
.bns-table tbody td{
  padding:13px 16px;border-top:1px solid #EFE4D2;
  vertical-align:middle;
}
.bns-table tbody tr:hover{background:#FDFBF7}
.bns-table tbody td.right{text-align:right}
.bns-table__date{
  font-family:ui-monospace,Menlo,monospace;
  font-size:12px;color:#8B786A;white-space:nowrap;
}
.bns-table__type{
  display:inline-flex;align-items:center;gap:6px;
  font-weight:600;color:#3A241A;font-size:13px;
  text-transform:capitalize;
}
.bns-table__type .dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
}
.bns-table__type .dot.retail{background:#55745B}
.bns-table__type .dot.direct{background:#5B7BA5}
.bns-table__type .dot.binary{background:#C9A56A}
.bns-table__type .dot.leadership{background:#8B786A}
.bns-table__type .dot.reward{background:#A84B45}
.bns-table__type .dot.default{background:#C9A56A}
.bns-table__ref{
  font-family:ui-monospace,Menlo,monospace;
  font-size:11.5px;color:#8B786A;
}
.bns-table__amount{
  font-family:"Cormorant Garamond",serif;
  font-size:20px;font-weight:700;color:#55745B;
  white-space:nowrap;
}
.bns-table__amount.negative{color:#A84B45}
.bns-table__empty{
  text-align:center;padding:48px 20px;
}
.bns-table__empty svg{
  width:52px;height:52px;color:#C9A56A;opacity:.5;
  margin:0 auto 14px;
}
.bns-table__empty h3{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;color:#3A241A;margin:0 0 6px;
}
.bns-table__empty p{color:#8B786A;font-size:13.5px;margin:0}

/* Filter */
.bns-filter{
  display:inline-flex;background:#F8F3EA;border-radius:10px;
  padding:3px;gap:2px;border:1px solid #EFE4D2;
}
.bns-filter button{
  padding:6px 12px;border-radius:8px;border:0;
  background:transparent;font-size:12px;font-weight:600;
  color:#8B786A;cursor:pointer;transition:all .2s;
}
.bns-filter button.active{
  background:#fff;color:#3A241A;
  box-shadow:0 2px 6px rgba(58,36,26,.06);
}

@media (max-width:640px){
  .bns-hero{padding:20px}
  .bns-hero h1{font-size:24px}
  .bns-hero__stat .val{font-size:26px}
  .bns-table thead th:nth-child(3),
  .bns-table tbody td:nth-child(3){display:none}
  .bns-table thead th,
  .bns-table tbody td{padding:10px 12px}
  .bns-table__amount{font-size:17px}
  .bns-chart{padding:16px}
  .bns-breakdown{padding:16px}
}

/* ============================================================
 * WALLET PAGE
 * ============================================================ */
.wal-hero{
  background:linear-gradient(135deg,#3A241A 0%,#513528 55%,#2A1A13 100%);
  color:#fff;border-radius:20px;padding:24px;
  position:relative;overflow:hidden;
  box-shadow:0 12px 40px rgba(58,36,26,.25);
  margin-bottom:24px;
}
.wal-hero::before{
  content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.35) 0%,transparent 70%);
  pointer-events:none;
}
.wal-hero__content{position:relative;z-index:2}
.wal-hero__label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:#C9A56A;background:rgba(255,255,255,.05);padding:5px 11px;
  border-radius:9999px;border:1px solid rgba(201,165,106,.3);
}
.wal-hero__balance{
  font-family:"Cormorant Garamond",serif;
  font-size:48px;font-weight:700;color:#E4C994;line-height:1;
  margin:14px 0 6px;
}
@media (min-width:768px){.wal-hero__balance{font-size:60px}}
.wal-hero__sublabel{
  font-size:12.5px;color:rgba(255,255,255,.6);
  text-transform:uppercase;letter-spacing:.06em;font-weight:600;
}
.wal-hero__actions{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;
}
.wal-hero__actions .btn-gold{
  background:#C9A56A;color:#3A241A;
  display:inline-flex;align-items:center;gap:6px;
  padding:12px 22px;border-radius:10px;font-weight:700;font-size:14px;
  text-decoration:none;border:0;cursor:pointer;
}
.wal-hero__actions .btn-outline-light{
  background:transparent;color:#fff;border:1px solid rgba(255,255,255,.2);
  display:inline-flex;align-items:center;gap:6px;
  padding:12px 22px;border-radius:10px;font-weight:600;font-size:14px;
  text-decoration:none;cursor:pointer;
}
.wal-hero__actions .btn-outline-light:hover{background:rgba(255,255,255,.05)}

/* Stats grid */
.wal-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;margin-bottom:24px;
}
@media (min-width:768px){.wal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
.wal-card{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:14px;padding:16px;
  box-shadow:0 4px 16px rgba(58,36,26,.04);
  transition:transform .2s,box-shadow .2s;
}
.wal-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(58,36,26,.08)}
.wal-card__icon{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:10px;
}
.wal-card__icon svg{width:18px;height:18px}
.wal-card__value{
  font-family:"Cormorant Garamond",serif;
  font-size:24px;font-weight:700;color:#3A241A;line-height:1.1;
}
.wal-card__label{
  font-size:10.5px;color:#8B786A;text-transform:uppercase;
  letter-spacing:.06em;margin-top:6px;font-weight:600;
}
.wal-card__delta{
  display:inline-flex;align-items:center;gap:3px;
  font-size:11px;font-weight:700;margin-top:6px;
  padding:2px 7px;border-radius:5px;
}
.wal-card__delta.up{background:rgba(85,116,91,.12);color:#2D5A34}
.wal-card__delta.down{background:rgba(168,75,69,.12);color:#8B2B25}
.wal-card__delta.warn{background:rgba(201,165,106,.18);color:#5C4420}
.wal-card__delta.flat{background:#F8F3EA;color:#8B786A}

/* Transaction list */
.wal-list{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;overflow:hidden;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
}
.wal-list__head{
  padding:20px 20px 0;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;margin-bottom:12px;
}
.wal-list__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0;
}
.wal-list__sub{font-size:12.5px;color:#8B786A;margin-top:2px}
.wal-tx{
  display:flex;align-items:center;gap:14px;
  padding:14px 20px;border-top:1px solid #EFE4D2;
  transition:background .2s;
}
.wal-tx:hover{background:#FDFBF7}
.wal-tx__icon{
  width:42px;height:42px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.wal-tx__icon svg{width:20px;height:20px}
.wal-tx__icon.in{background:linear-gradient(135deg,#55745B,#6E8F73);color:#fff}
.wal-tx__icon.out{background:linear-gradient(135deg,#A84B45,#C36C64);color:#fff}
.wal-tx__icon.pending{background:linear-gradient(135deg,#C9A56A,#E4C994);color:#3A241A}
.wal-tx__info{flex:1;min-width:0}
.wal-tx__title{
  font-weight:600;color:#3A241A;font-size:13.5px;
  text-transform:capitalize;
}
.wal-tx__meta{font-size:11.5px;color:#8B786A;margin-top:2px}
.wal-tx__amount{
  font-family:"Cormorant Garamond",serif;
  font-size:20px;font-weight:700;text-align:right;flex-shrink:0;
}
.wal-tx__amount.in{color:#55745B}
.wal-tx__amount.out{color:#A84B45}
.wal-tx__amount.pending{color:#8B6A2C}
.wal-tx__sub{
  font-size:10px;color:#8B786A;font-weight:600;
  text-align:right;margin-top:2px;letter-spacing:.04em;
  text-transform:uppercase;
}

.wal-empty{
  text-align:center;padding:48px 20px;
}
.wal-empty svg{
  width:52px;height:52px;color:#C9A56A;opacity:.5;margin:0 auto 14px;
}
.wal-empty h3{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;color:#3A241A;margin:0 0 6px;
}
.wal-empty p{color:#8B786A;font-size:13.5px;margin:0 0 16px}

/* ============================================================
 * WITHDRAWAL PAGE
 * ============================================================ */
.wd-hero{
  background:linear-gradient(135deg,#3A241A 0%,#513528 60%,#2A1A13 100%);
  color:#fff;border-radius:20px;padding:24px;
  position:relative;overflow:hidden;
  box-shadow:0 12px 40px rgba(58,36,26,.25);
  margin-bottom:24px;
}
.wd-hero::before{
  content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.35) 0%,transparent 70%);
}
.wd-hero__content{position:relative;z-index:2}
.wd-hero__label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:#C9A56A;background:rgba(255,255,255,.05);padding:5px 11px;
  border-radius:9999px;border:1px solid rgba(201,165,106,.3);
}
.wd-hero h1{
  color:#fff;font-family:"Cormorant Garamond",serif;
  font-size:30px;font-weight:700;line-height:1.1;margin:8px 0 8px;
}
.wd-hero p{color:rgba(255,255,255,.75);font-size:13.5px;margin:0;max-width:520px}
.wd-hero__balance{
  display:grid;grid-template-columns:1fr;gap:14px;
  margin-top:20px;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.1);
}
@media (min-width:640px){.wd-hero__balance{grid-template-columns:repeat(3,1fr)}}
.wd-hero__stat .lbl{
  font-size:10.5px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:6px;
}
.wd-hero__stat .val{
  font-family:"Cormorant Garamond",serif;
  font-size:26px;font-weight:700;line-height:1;
}
.wd-hero__stat .val.gold{color:#C9A56A}
.wd-hero__stat .val.green{color:#A8E0B0}
.wd-hero__stat .val.white{color:#fff}

/* Withdrawal form grid */
.wd-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:1024px){.wd-grid{grid-template-columns:1fr 420px}}

.wd-card{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;padding:20px;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
}
.wd-card + .wd-card{margin-top:16px}
.wd-card__head{
  margin-bottom:18px;
}
.wd-card__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0 0 4px;
  display:flex;align-items:center;gap:8px;
}
.wd-card__title svg{color:#C9A56A;width:20px;height:20px}
.wd-card__sub{font-size:12.5px;color:#8B786A;margin:0}

/* Amount quick picks */
.wd-quick{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;
}
.wd-quick button{
  padding:8px 14px;border-radius:9px;
  background:#F8F3EA;border:1px solid #EFE4D2;
  font-size:12px;font-weight:700;color:#3A241A;
  cursor:pointer;transition:all .2s;
}
.wd-quick button:hover{background:#EFE4D2;border-color:#C9A56A}

/* Method picker */
.wd-methods{
  display:grid;grid-template-columns:repeat(2,1fr);gap:8px;
  margin-bottom:16px;
}
.wd-method{
  padding:12px;border:2px solid #EFE4D2;border-radius:12px;
  background:#fff;cursor:pointer;transition:all .2s;
  display:flex;flex-direction:column;align-items:center;gap:5px;
  font-size:12px;font-weight:600;color:#3A241A;text-align:center;
}
.wd-method:hover{border-color:#C9A56A}
.wd-method.active{border-color:#3A241A;background:linear-gradient(135deg,#FDFBF7,#F8F3EA)}
.wd-method svg{width:22px;height:22px;color:#C9A56A}

/* Bank info summary */
.wd-summary{
  background:linear-gradient(135deg,#F8F3EA,#EFE4D2);
  border:1px dashed #C9A56A;
  border-radius:14px;padding:16px;
  margin-top:16px;
}
.wd-summary__row{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 0;font-size:13px;
}
.wd-summary__row + .wd-summary__row{border-top:1px dashed rgba(201,165,106,.3)}
.wd-summary__row.total{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;
  padding-top:14px;margin-top:6px;
  border-top:2px solid #C9A56A;
}
.wd-summary__row.total span:last-child{color:#55745B}

/* Withdrawal table */
.wd-table{
  width:100%;border-collapse:collapse;font-size:13.5px;
}
.wd-table thead{background:#F8F3EA}
.wd-table thead th{
  text-align:left;padding:11px 16px;
  font-weight:700;font-size:11px;text-transform:uppercase;
  letter-spacing:.06em;color:#8B786A;white-space:nowrap;
}
.wd-table thead th.right{text-align:right}
.wd-table tbody td{
  padding:13px 16px;border-top:1px solid #EFE4D2;vertical-align:middle;
}
.wd-table tbody tr:hover{background:#FDFBF7}
.wd-table tbody td.right{text-align:right}
.wd-table__amount{
  font-family:"Cormorant Garamond",serif;
  font-size:20px;font-weight:700;color:#A84B45;white-space:nowrap;
}
.wd-table__date{
  font-family:ui-monospace,Menlo,monospace;
  font-size:12px;color:#8B786A;white-space:nowrap;
}
.wd-table__method{
  font-size:12.5px;color:#3A241A;font-weight:600;
  text-transform:capitalize;
}
.wd-table__account{
  font-size:11.5px;color:#8B786A;margin-top:2px;
}

.wd-cancel-btn{
  display:inline-flex;align-items:center;gap:4px;
  padding:5px 10px;border-radius:7px;
  background:rgba(168,75,69,.1);color:#A84B45;
  font-size:11px;font-weight:700;border:0;cursor:pointer;
  transition:background .2s;
}
.wd-cancel-btn:hover{background:rgba(168,75,69,.2)}

@media (max-width:640px){
  .wal-hero{padding:20px}
  .wal-hero__balance{font-size:36px}
  .wd-hero{padding:20px}
  .wd-hero h1{font-size:24px}
  .wd-hero__stat .val{font-size:22px}
  .wd-methods{grid-template-columns:1fr}
  .wd-table thead th:nth-child(3),
  .wd-table tbody td:nth-child(3){display:none}
  .wal-tx{padding:12px 16px}
  .wal-tx__amount{font-size:17px}
}

/* ============================================================
 * REFERRAL PAGE
 * ============================================================ */
.ref-hero{
  background:linear-gradient(135deg,#3A241A 0%,#513528 55%,#2A1A13 100%);
  color:#fff;border-radius:20px;padding:24px;
  position:relative;overflow:hidden;
  box-shadow:0 12px 40px rgba(58,36,26,.25);
  margin-bottom:24px;
}
.ref-hero::before{
  content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.35) 0%,transparent 70%);
}
.ref-hero::after{
  content:"";position:absolute;left:-40px;bottom:-40px;width:180px;height:180px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.15) 0%,transparent 70%);
}
.ref-hero__content{position:relative;z-index:2}
.ref-hero__label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:#C9A56A;background:rgba(255,255,255,.05);padding:5px 11px;
  border-radius:9999px;border:1px solid rgba(201,165,106,.3);
}
.ref-hero h1{
  color:#fff;font-family:"Cormorant Garamond",serif;
  font-size:30px;font-weight:700;line-height:1.1;margin:8px 0 8px;
}
.ref-hero p{color:rgba(255,255,255,.75);font-size:13.5px;line-height:1.6;margin:0;max-width:520px}

.ref-hero__stats{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;
  margin-top:24px;padding-top:24px;
  border-top:1px solid rgba(255,255,255,.1);
}
@media (min-width:640px){.ref-hero__stats{grid-template-columns:repeat(4,1fr)}}
.ref-hero__stat .lbl{
  font-size:10px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:6px;
}
.ref-hero__stat .val{
  font-family:"Cormorant Garamond",serif;
  font-size:26px;font-weight:700;color:#C9A56A;line-height:1;
}
.ref-hero__stat .sub{font-size:11px;color:rgba(255,255,255,.55);margin-top:3px}

/* Share panel */
.share-panel{
  background:#fff;border:1px solid #EFE4D2;border-radius:16px;
  padding:20px;box-shadow:0 4px 20px rgba(58,36,26,.05);
  margin-bottom:24px;
}
.share-panel__head{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:8px;margin-bottom:16px;
}
.share-panel__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0;
  display:flex;align-items:center;gap:8px;
}
.share-panel__title svg{width:20px;height:20px;color:#C9A56A}
.share-panel__sub{font-size:12.5px;color:#8B786A;margin-top:2px}

.share-row{
  display:flex;gap:10px;align-items:stretch;
  background:#F8F3EA;border:1px dashed #C9A56A;
  border-radius:12px;padding:12px;margin-bottom:10px;
}
.share-row__label{
  font-size:10.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:#8B786A;margin-bottom:6px;
}
.share-row__value{
  font-family:ui-monospace,Menlo,monospace;
  font-size:13px;font-weight:700;color:#3A241A;
  word-break:break-all;line-height:1.4;
}
.share-row__content{flex:1;min-width:0}
.share-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:10px 16px;border-radius:9px;
  background:#3A241A;color:#fff;border:0;
  font-size:12px;font-weight:700;cursor:pointer;
  transition:all .2s;white-space:nowrap;flex-shrink:0;
}
.share-btn:hover{background:#2A1A13}
.share-btn.copied{background:#55745B;color:#fff}
.share-btn svg{width:14px;height:14px}

.share-socials{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;
}
.share-social{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:9px;
  border:1px solid #EFE4D2;background:#fff;
  font-size:12px;font-weight:600;color:#3A241A;
  cursor:pointer;transition:all .2s;text-decoration:none;
}
.share-social:hover{border-color:#C9A56A;background:#F8F3EA}
.share-social svg{width:15px;height:15px}

/* Referral list */
.ref-list{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;overflow:hidden;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
}
.ref-list__head{
  padding:20px 20px 0;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;margin-bottom:12px;
}
.ref-list__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0;
}
.ref-list__sub{font-size:12.5px;color:#8B786A;margin-top:2px}

.ref-item{
  display:flex;align-items:center;gap:14px;
  padding:14px 20px;border-top:1px solid #EFE4D2;
  transition:background .2s;
}
.ref-item:hover{background:#FDFBF7}
.ref-item__avatar{
  width:44px;height:44px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:"Cormorant Garamond",serif;font-weight:700;font-size:18px;
  background:linear-gradient(135deg,#C9A56A,#E4C994);color:#3A241A;
}
.ref-item__info{flex:1;min-width:0}
.ref-item__name{
  font-weight:600;color:#3A241A;font-size:14px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ref-item__meta{
  font-size:11.5px;color:#8B786A;margin-top:2px;
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.ref-item__pos{
  display:inline-flex;align-items:center;gap:3px;
  font-size:10px;font-weight:700;padding:2px 6px;border-radius:5px;
}
.ref-item__pos.left{background:rgba(91,123,165,.15);color:#3D5C80}
.ref-item__pos.right{background:rgba(201,165,106,.2);color:#3A241A}
.ref-item__stats{
  display:flex;gap:8px;flex-shrink:0;
}
.ref-item__stat{
  text-align:center;min-width:44px;
}
.ref-item__stat .n{
  font-family:"Cormorant Garamond",serif;
  font-size:16px;font-weight:700;color:#3A241A;line-height:1;
}
.ref-item__stat .l{
  font-size:9.5px;color:#8B786A;text-transform:uppercase;
  letter-spacing:.05em;margin-top:3px;font-weight:600;
}

.ref-empty{
  text-align:center;padding:48px 20px;
}
.ref-empty__icon{
  width:88px;height:88px;border-radius:50%;
  background:linear-gradient(135deg,#F8F3EA,#EFE4D2);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;
}
.ref-empty__icon svg{width:38px;height:38px;color:#C9A56A}
.ref-empty h3{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;color:#3A241A;margin:0 0 6px;
}
.ref-empty p{color:#8B786A;font-size:13.5px;margin:0 0 18px;line-height:1.6}

@media (max-width:640px){
  .ref-hero{padding:20px}
  .ref-hero h1{font-size:24px}
  .ref-hero__stat .val{font-size:22px}
  .share-row{flex-direction:column}
  .share-btn{width:100%;justify-content:center}
  .ref-item__stats{display:none}
  .ref-item{padding:12px 16px}
}

/* ============================================================
 * PAGINATION
 * ============================================================ */
.rg-pagination{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:12px;padding:16px 20px;
  border-top:1px solid #EFE4D2;
  background:#fff;
}
.rg-pagination__info{
  font-size:12.5px;color:#8B786A;
}
.rg-pagination__info strong{color:#3A241A;font-weight:700}
.rg-pagination__pages{
  display:inline-flex;align-items:center;gap:4px;
}
.rg-page-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:34px;height:34px;padding:0 8px;
  border-radius:9px;border:1px solid #EFE4D2;
  background:#fff;color:#3A241A;
  font-size:12.5px;font-weight:600;
  text-decoration:none;cursor:pointer;
  transition:all .2s;
}
.rg-page-btn:hover{border-color:#C9A56A;background:#F8F3EA}
.rg-page-btn.active{
  background:#3A241A;color:#C9A56A;border-color:#3A241A;
  font-weight:700;
}
.rg-page-btn.disabled{
  opacity:.4;cursor:not-allowed;
}
.rg-page-btn svg{width:16px;height:16px}
.rg-page-ellipsis{
  padding:0 4px;color:#8B786A;font-size:13px;
}

@media (max-width:640px){
  .rg-pagination{flex-direction:column;text-align:center}
  .rg-pagination__info{font-size:11.5px}
  .rg-page-btn{min-width:30px;height:30px;font-size:11.5px}
}

/* ============================================================
 * NETWORK TREE — LEVEL COLORING + ARROWS
 * ============================================================ */
.rg-tree .tree-node{
  position:relative;
  border-left-width:4px;
  padding-left:14px;
}
/* Level 1 — Biru */
.rg-tree ul[data-level="1"] > li > .tree-node{
  border-left-color:#5B7BA5;
  background:linear-gradient(90deg, rgba(91,123,165,.04) 0%, #fff 30%);
}
/* Level 2 — Gold */
.rg-tree ul[data-level="2"] > li > .tree-node{
  border-left-color:#C9A56A;
  background:linear-gradient(90deg, rgba(201,165,106,.06) 0%, #fff 30%);
}
/* Level 3 — Hijau */
.rg-tree ul[data-level="3"] > li > .tree-node{
  border-left-color:#55745B;
  background:linear-gradient(90deg, rgba(85,116,91,.06) 0%, #fff 30%);
}
/* Level 4 — Ungu */
.rg-tree ul[data-level="4"] > li > .tree-node{
  border-left-color:#7B5EA7;
  background:linear-gradient(90deg, rgba(123,94,167,.06) 0%, #fff 30%);
}
/* Level 5+ — Merah */
.rg-tree ul[data-level="5"] > li > .tree-node,
.rg-tree ul[data-level="6"] > li > .tree-node{
  border-left-color:#A84B45;
  background:linear-gradient(90deg, rgba(168,75,69,.06) 0%, #fff 30%);
}

/* Level badge warna */
.tree-level-badge{
  position:absolute;left:-52px;top:50%;transform:translateY(-50%);
  font-size:9.5px;font-weight:800;letter-spacing:.04em;
  padding:3px 7px;border-radius:5px;
  color:#fff;
}
.tree-level-badge.l1{background:#5B7BA5}
.tree-level-badge.l2{background:#C9A56A;color:#3A241A}
.tree-level-badge.l3{background:#55745B}
.tree-level-badge.l4{background:#7B5EA7}
.tree-level-badge.l5{background:#A84B45}

/* Connector lines warna per level */
.rg-tree ul[data-level="1"] > li::before,
.rg-tree ul[data-level="1"] > li::after{
  background:#5B7BA5;opacity:.35;
}
.rg-tree ul[data-level="2"] > li::before,
.rg-tree ul[data-level="2"] > li::after{
  background:#C9A56A;opacity:.4;
}
.rg-tree ul[data-level="3"] > li::before,
.rg-tree ul[data-level="3"] > li::after{
  background:#55745B;opacity:.4;
}
.rg-tree ul[data-level="4"] > li::before,
.rg-tree ul[data-level="4"] > li::after{
  background:#7B5EA7;opacity:.4;
}
.rg-tree ul[data-level="5"] > li::before,
.rg-tree ul[data-level="5"] > li::after{
  background:#A84B45;opacity:.4;
}

/* Arrow at the end of connector */
.rg-tree ul > li::after{
  content:"";position:absolute;left:-12px;top:30px;
  width:12px;height:1px;background:#EFE4D2;
}
.rg-tree ul > li::before{
  content:"";position:absolute;left:-12px;top:0;bottom:0;
  width:1px;background:#EFE4D2;
}

/* Arrow head kecil untuk arah dari parent ke child */
.rg-tree ul > li::after{
  width:12px;
  background:linear-gradient(90deg, currentColor 0%, currentColor 100%);
}

/* Avatar warna per level */
.rg-tree ul[data-level="1"] > li > .tree-node .tree-node-avatar{
  background:linear-gradient(135deg,#5B7BA5,#7A9CC0);color:#fff;
}
.rg-tree ul[data-level="2"] > li > .tree-node .tree-node-avatar{
  background:linear-gradient(135deg,#C9A56A,#E4C994);color:#3A241A;
}
.rg-tree ul[data-level="3"] > li > .tree-node .tree-node-avatar{
  background:linear-gradient(135deg,#55745B,#6E8F73);color:#fff;
}
.rg-tree ul[data-level="4"] > li > .tree-node .tree-node-avatar{
  background:linear-gradient(135deg,#7B5EA7,#9B7EC7);color:#fff;
}
.rg-tree ul[data-level="5"] > li > .tree-node .tree-node-avatar{
  background:linear-gradient(135deg,#A84B45,#C36C64);color:#fff;
}

/* Arrow indicator (chevron) dari parent ke child */
.tree-arrow{
  display:inline-flex;align-items:center;gap:3px;
  font-size:10px;font-weight:700;
  padding:2px 7px;border-radius:5px;
  background:#F8F3EA;color:#8B786A;
  margin-left:6px;
}
.tree-arrow svg{width:11px;height:11px}

/* Legend */
.tree-legend{
  display:flex;flex-wrap:wrap;gap:10px;
  padding:14px 16px;background:#F8F3EA;border-radius:12px;
  margin-bottom:16px;border:1px solid #EFE4D2;
}
.tree-legend__item{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11.5px;color:#3A241A;font-weight:600;
}
.tree-legend__dot{
  width:12px;height:12px;border-radius:3px;
}
.tree-legend__dot.l1{background:#5B7BA5}
.tree-legend__dot.l2{background:#C9A56A}
.tree-legend__dot.l3{background:#55745B}
.tree-legend__dot.l4{background:#7B5EA7}
.tree-legend__dot.l5{background:#A84B45}

/* Self node */
.rg-tree > li > .tree-node{
  border-left-color:#3A241A;
  background:linear-gradient(90deg, rgba(58,36,26,.06) 0%, #F8F3EA 30%);
}

@media (max-width:640px){
  .tree-level-badge{left:-32px;font-size:8px;padding:2px 5px}
  .tree-legend{padding:10px 12px;gap:8px}
  .tree-legend__item{font-size:10.5px}
}

/* ============================================================
 * REWARDS PAGE
 * ============================================================ */
.rwd-hero{
  background:linear-gradient(135deg,#3A241A 0%,#513528 55%,#2A1A13 100%);
  color:#fff;border-radius:20px;padding:24px;
  position:relative;overflow:hidden;
  box-shadow:0 12px 40px rgba(58,36,26,.25);
  margin-bottom:24px;
}
.rwd-hero::before{
  content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.35) 0%,transparent 70%);
}
.rwd-hero::after{
  content:"";position:absolute;left:-40px;bottom:-40px;width:180px;height:180px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.15) 0%,transparent 70%);
}
.rwd-hero__content{position:relative;z-index:2}
.rwd-hero__label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:#C9A56A;background:rgba(255,255,255,.05);padding:5px 11px;
  border-radius:9999px;border:1px solid rgba(201,165,106,.3);
}
.rwd-hero h1{
  color:#fff;font-family:"Cormorant Garamond",serif;
  font-size:32px;font-weight:700;line-height:1.1;margin:10px 0 8px;
}
@media (min-width:768px){.rwd-hero h1{font-size:42px}}
.rwd-hero p{color:rgba(255,255,255,.75);font-size:13.5px;line-height:1.6;margin:0;max-width:520px}

/* Progress bar hero */
.rwd-hero__progress{
  margin-top:24px;padding-top:24px;
  border-top:1px solid rgba(255,255,255,.1);
}
.rwd-hero__progress-head{
  display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;
}
.rwd-hero__progress-label{
  font-size:11.5px;color:rgba(255,255,255,.7);
  font-weight:600;text-transform:uppercase;letter-spacing:.06em;
}
.rwd-hero__progress-value{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#C9A56A;line-height:1;
}
.rwd-hero__track{
  height:10px;background:rgba(255,255,255,.12);
  border-radius:9999px;overflow:hidden;
}
.rwd-hero__bar{
  height:100%;background:linear-gradient(90deg,#C9A56A,#E4C994);
  border-radius:9999px;transition:width .8s ease-out;min-width:4px;
}
.rwd-hero__stats{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:22px;
}
@media (min-width:640px){.rwd-hero__stats{grid-template-columns:repeat(4,1fr)}}
.rwd-hero__stat .lbl{
  font-size:10.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:6px;
}
.rwd-hero__stat .val{
  font-family:"Cormorant Garamond",serif;
  font-size:26px;font-weight:700;color:#C9A56A;line-height:1;
}
.rwd-hero__stat .sub{font-size:11px;color:rgba(255,255,255,.55);margin-top:4px}

/* Tabs */
.rwd-tabs{
  display:inline-flex;background:#fff;border:1px solid #EFE4D2;
  border-radius:12px;padding:4px;gap:2px;margin-bottom:20px;
  overflow-x:auto;max-width:100%;
}
.rwd-tab{
  padding:10px 18px;border-radius:9px;border:0;background:transparent;
  font-size:13px;font-weight:600;color:#8B786A;cursor:pointer;
  transition:all .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;
}
.rwd-tab:hover{background:#F8F3EA}
.rwd-tab.active{background:#3A241A;color:#fff}
.rwd-tab .count{
  font-size:10px;font-weight:700;padding:2px 7px;border-radius:9999px;
  background:rgba(201,165,106,.2);color:#3A241A;
}
.rwd-tab.active .count{background:#C9A56A;color:#3A241A}

/* Grid */
.rwd-grid{
  display:grid;grid-template-columns:1fr;gap:16px;
}
@media (min-width:640px){.rwd-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.rwd-grid{grid-template-columns:repeat(3,1fr)}}

/* Reward card */
.rwd-card{
  background:#fff;border:1px solid #EFE4D2;
  border-radius:16px;overflow:hidden;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
  transition:transform .25s, box-shadow .25s, border-color .25s;
  position:relative;
  display:flex;flex-direction:column;
}
.rwd-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 40px rgba(58,36,26,.12);
  border-color:#C9A56A;
}
.rwd-card.locked{opacity:.75}
.rwd-card.locked:hover{opacity:1;transform:translateY(-2px)}
.rwd-card.claimed{border-color:#55745B}

/* Header with gradient */
.rwd-card__head{
  padding:20px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#F8F3EA,#EFE4D2);
}
.rwd-card__head.bronze{background:linear-gradient(135deg,#8B786A,#A89080);color:#fff}
.rwd-card__head.silver{background:linear-gradient(135deg,#A8A8A8,#D0D0D0);color:#3A241A}
.rwd-card__head.gold{background:linear-gradient(135deg,#C9A56A,#E4C994);color:#3A241A}
.rwd-card__head.diamond{
  background:linear-gradient(135deg,#3A241A,#513528);color:#E4C994;
}
.rwd-card__head.diamond::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 80% 20%,rgba(201,165,106,.25) 0%,transparent 60%);
}
.rwd-card__head-inner{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.rwd-card__tier{
  font-size:9.5px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;padding:3px 8px;border-radius:6px;
  background:rgba(0,0,0,.15);
}
.rwd-card__head.bronze .rwd-card__tier,
.rwd-card__head.silver .rwd-card__tier,
.rwd-card__head.gold .rwd-card__tier{background:rgba(255,255,255,.3)}
.rwd-card__head.diamond .rwd-card__tier{background:rgba(201,165,106,.25);color:#E4C994}
.rwd-card__status{
  font-size:9.5px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;padding:3px 8px;border-radius:6px;
}
.rwd-card__status.claimed{background:#55745B;color:#fff}
.rwd-card__status.available{background:#E4C994;color:#3A241A}
.rwd-card__status.locked{background:rgba(255,255,255,.4);color:#3A241A}

.rwd-card__icon{
  width:44px;height:44px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.4);
  margin-bottom:12px;
  position:relative;z-index:1;
}
.rwd-card__head.bronze .rwd-card__icon,
.rwd-card__head.diamond .rwd-card__icon{background:rgba(255,255,255,.15)}
.rwd-card__icon svg{width:22px;height:22px}

.rwd-card__head h3{
  font-family:"Cormorant Garamond",serif;
  font-size:20px;font-weight:700;line-height:1.15;margin:0;
  position:relative;z-index:1;
}
.rwd-card__head .category{
  font-size:10px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;opacity:.75;margin-top:4px;
  position:relative;z-index:1;
}

/* Body */
.rwd-card__body{padding:16px 20px 20px;display:flex;flex-direction:column;flex:1;gap:12px}
.rwd-card__desc{
  font-size:13px;color:#8B786A;line-height:1.55;margin:0;
  min-height:52px;
}
.rwd-card__req{
  display:flex;align-items:center;gap:8px;
  padding:10px 12px;border-radius:10px;
  background:#F8F3EA;font-size:12px;
}
.rwd-card__req svg{width:14px;height:14px;color:#C9A56A;flex-shrink:0}
.rwd-card__req .label{color:#8B786A}
.rwd-card__req .value{font-weight:700;color:#3A241A;margin-left:auto}

/* Progress */
.rwd-card__progress{
  margin-top:auto;
  padding-top:12px;border-top:1px dashed #EFE4D2;
}
.rwd-card__progress-head{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:6px;font-size:11.5px;color:#8B786A;
}
.rwd-card__progress-head .pct{
  font-family:"Cormorant Garamond",serif;
  font-size:15px;font-weight:700;color:#3A241A;
}
.rwd-card__progress-track{
  height:6px;background:#EFE4D2;border-radius:9999px;overflow:hidden;
}
.rwd-card__progress-bar{
  height:100%;border-radius:9999px;transition:width .8s ease-out;
  min-width:2px;
}
.rwd-card__progress-bar.gold{background:linear-gradient(90deg,#C9A56A,#E4C994)}
.rwd-card__progress-bar.green{background:linear-gradient(90deg,#55745B,#6E8F73)}
.rwd-card__progress-bar.locked{background:#D4C8B8}

/* Reward value pill */
.rwd-card__value{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 10px;border-radius:8px;
  background:linear-gradient(135deg,#C9A56A,#E4C994);
  color:#3A241A;font-size:12px;font-weight:800;
  letter-spacing:.02em;
}
.rwd-card__value svg{width:13px;height:13px}

/* Empty state */
.rwd-empty{
  text-align:center;padding:48px 20px;
  background:#fff;border:1px solid #EFE4D2;border-radius:16px;
}
.rwd-empty__icon{
  width:80px;height:80px;border-radius:50%;
  background:linear-gradient(135deg,#F8F3EA,#EFE4D2);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;
}
.rwd-empty__icon svg{width:36px;height:36px;color:#C9A56A}
.rwd-empty h3{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;color:#3A241A;margin:0 0 6px;
}
.rwd-empty p{color:#8B786A;font-size:13.5px;margin:0}

@media (max-width:640px){
  .rwd-hero{padding:20px}
  .rwd-hero h1{font-size:26px}
  .rwd-hero__stat .val{font-size:22px}
  .rwd-card__head{padding:16px}
  .rwd-card__body{padding:14px 16px 16px}
  .rwd-card__head h3{font-size:18px}
  .rwd-tabs{padding:3px}
  .rwd-tab{padding:8px 14px;font-size:12px}
}

/* ============================================================
 * TRAINING — EBOOK READER
 * ============================================================ */
.trn-hero{
  background:linear-gradient(135deg,#3A241A 0%,#513528 55%,#2A1A13 100%);
  color:#fff;border-radius:20px;padding:24px;
  position:relative;overflow:hidden;
  box-shadow:0 12px 40px rgba(58,36,26,.25);
  margin-bottom:24px;
}
.trn-hero::before{
  content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.35) 0%,transparent 70%);
}
.trn-hero__content{position:relative;z-index:2}
.trn-hero__label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:#C9A56A;background:rgba(255,255,255,.05);padding:5px 11px;
  border-radius:9999px;border:1px solid rgba(201,165,106,.3);
}
.trn-hero h1{
  color:#fff;font-family:"Cormorant Garamond",serif;
  font-size:32px;font-weight:700;line-height:1.1;margin:10px 0 8px;
}
@media (min-width:768px){.trn-hero h1{font-size:42px}}
.trn-hero p{color:rgba(255,255,255,.75);font-size:13.5px;line-height:1.6;margin:0;max-width:560px}

.trn-hero__stats{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
  margin-top:22px;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.1);
}
@media (min-width:640px){.trn-hero__stats{grid-template-columns:repeat(4,1fr)}}
.trn-hero__stat .lbl{
  font-size:10px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:6px;
}
.trn-hero__stat .val{
  font-family:"Cormorant Garamond",serif;
  font-size:26px;font-weight:700;color:#C9A56A;line-height:1;
}
.trn-hero__stat .sub{font-size:11px;color:rgba(255,255,255,.55);margin-top:4px}

/* Progress bar di hero */
.trn-hero__progress{margin-top:22px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1)}
.trn-hero__progress-head{display:flex;justify-content:space-between;margin-bottom:8px}
.trn-hero__progress-head span:first-child{font-size:11.5px;color:rgba(255,255,255,.7);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.trn-hero__progress-head span:last-child{font-family:"Cormorant Garamond",serif;font-size:18px;font-weight:700;color:#C9A56A}
.trn-hero__track{height:8px;background:rgba(255,255,255,.12);border-radius:9999px;overflow:hidden}
.trn-hero__bar{height:100%;background:linear-gradient(90deg,#C9A56A,#E4C994);border-radius:9999px;transition:width .8s ease-out;min-width:4px}

/* Filter chips */
.trn-chips{
  display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;
}
.trn-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:9999px;
  background:#fff;border:1px solid #EFE4D2;
  font-size:12.5px;font-weight:600;color:#3A241A;
  text-decoration:none;cursor:pointer;transition:all .2s;
}
.trn-chip:hover{border-color:#C9A56A;background:#F8F3EA}
.trn-chip.active{background:#3A241A;color:#C9A56A;border-color:#3A241A}
.trn-chip svg{width:14px;height:14px}

/* Grid modul (ebook library) */
.trn-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:640px){.trn-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.trn-grid{grid-template-columns:repeat(3,1fr)}}

/* Ebook card */
.trn-book{
  background:#fff;border:1px solid #EFE4D2;border-radius:16px;
  overflow:hidden;position:relative;
  display:flex;flex-direction:column;
  transition:transform .25s,box-shadow .25s,border-color .25s;
  box-shadow:0 4px 20px rgba(58,36,26,.05);
}
.trn-book:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 40px rgba(58,36,26,.12);
  border-color:#C9A56A;
}

/* Book cover */
.trn-book__cover{
  position:relative;
  aspect-ratio:16/10;
  padding:24px;
  display:flex;flex-direction:column;justify-content:space-between;
  overflow:hidden;
}
.trn-book__cover.bronze{
  background:linear-gradient(135deg,#8B786A 0%,#A89080 100%);
}
.trn-book__cover.silver{
  background:linear-gradient(135deg,#A8A8A8 0%,#D0D0D0 100%);
  color:#3A241A;
}
.trn-book__cover.gold{
  background:linear-gradient(135deg,#C9A56A 0%,#E4C994 100%);
  color:#3A241A;
}
.trn-book__cover.diamond{
  background:linear-gradient(135deg,#3A241A 0%,#513528 100%);
  color:#E4C994;
}
.trn-book__cover::before{
  content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;
  border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);
}
.trn-book__cover::after{
  content:"";position:absolute;left:-30px;bottom:-30px;width:120px;height:120px;
  border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);
}
.trn-book__cover-inner{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start}
.trn-book__emoji{font-size:42px;line-height:1}
.trn-book__category{
  font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 9px;border-radius:6px;
  background:rgba(255,255,255,.25);color:inherit;
}
.trn-book__cover.silver .trn-book__category,
.trn-book__cover.gold .trn-book__category{background:rgba(255,255,255,.4);color:#3A241A}
.trn-book__cover.diamond .trn-book__category{background:rgba(201,165,106,.25);color:#E4C994}

.trn-book__cover-bottom{position:relative;z-index:1}
.trn-book__level{
  font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  opacity:.85;
}
.trn-book__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;line-height:1.15;margin:6px 0 0;
}

/* Body */
.trn-book__body{
  padding:16px 20px 20px;display:flex;flex-direction:column;flex:1;gap:12px;
}
.trn-book__subtitle{
  font-size:13px;color:#8B786A;line-height:1.55;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:40px;
}

.trn-book__meta{
  display:flex;flex-wrap:wrap;gap:10px;font-size:11.5px;color:#8B786A;
}
.trn-book__meta-item{display:inline-flex;align-items:center;gap:4px}
.trn-book__meta-item svg{width:13px;height:13px;color:#C9A56A}

.trn-book__progress{margin-top:auto;padding-top:12px;border-top:1px dashed #EFE4D2}
.trn-book__progress-head{display:flex;justify-content:space-between;font-size:11.5px;color:#8B786A;margin-bottom:6px}
.trn-book__progress-head .pct{font-family:"Cormorant Garamond",serif;font-size:15px;font-weight:700;color:#3A241A}
.trn-book__progress-track{height:6px;background:#EFE4D2;border-radius:9999px;overflow:hidden}
.trn-book__progress-bar{height:100%;border-radius:9999px;transition:width .8s ease-out;min-width:2px}
.trn-book__progress-bar.gold{background:linear-gradient(90deg,#C9A56A,#E4C994)}
.trn-book__progress-bar.green{background:linear-gradient(90deg,#55745B,#6E8F73)}
.trn-book__progress-bar.locked{background:#D4C8B8}

.trn-book__cta{
  display:inline-flex;align-items:center;justify-content:space-between;
  padding:12px 16px;border-radius:10px;margin-top:4px;
  font-size:13px;font-weight:700;text-decoration:none;
  background:#3A241A;color:#fff;
  transition:background .2s;
}
.trn-book__cta:hover{background:#2A1A13}
.trn-book__cta .arrow{
  width:26px;height:26px;border-radius:50%;
  background:rgba(201,165,106,.25);color:#C9A56A;
  display:flex;align-items:center;justify-content:center;
}
.trn-book__cta.continue{
  background:#C9A56A;color:#3A241A;
}
.trn-book__cta.continue:hover{background:#E4C994}
.trn-book__cta.continue .arrow{background:#3A241A;color:#C9A56A}
.trn-book__cta.completed{
  background:#E9F3EB;color:#2D5A34;
  border:1px solid #55745B;
}
.trn-book__cta.completed .arrow{background:#55745B;color:#fff}

/* ============================================================
 * LESSON READER (ebook view)
 * ============================================================ */
.reader-wrap{
  display:grid;grid-template-columns:1fr;gap:20px;
  max-width:1200px;margin:0 auto;
}
@media (min-width:1024px){
  .reader-wrap{grid-template-columns:280px minmax(0,1fr);gap:28px}
}

/* Sidebar TOC */
.reader-toc{
  background:#fff;border:1px solid #EFE4D2;border-radius:16px;
  padding:20px;box-shadow:0 4px 20px rgba(58,36,26,.05);
  height:fit-content;
}
@media (min-width:1024px){
  .reader-toc{position:sticky;top:80px;max-height:calc(100vh - 100px);overflow-y:auto}
}
.reader-toc__head{
  padding-bottom:14px;border-bottom:1px solid #EFE4D2;margin-bottom:14px;
}
.reader-toc__badge{
  display:inline-flex;align-items:center;gap:5px;
  font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:3px 8px;border-radius:6px;
  background:#F8F3EA;color:#8B786A;
}
.reader-toc__badge.bronze{background:#EDE3D8;color:#5C4420}
.reader-toc__badge.silver{background:#E5E5E5;color:#3A241A}
.reader-toc__badge.gold{background:#F5E7C9;color:#5C4420}
.reader-toc__badge.diamond{background:#E8D9B4;color:#3A241A}
.reader-toc__title{
  font-family:"Cormorant Garamond",serif;
  font-size:19px;font-weight:700;color:#3A241A;
  margin:8px 0 4px;line-height:1.2;
}
.reader-toc__sub{font-size:11.5px;color:#8B786A}

.reader-toc__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}
.reader-toc__item{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 12px;border-radius:9px;
  font-size:13px;color:#3A241A;text-decoration:none;
  transition:background .2s;line-height:1.4;
}
.reader-toc__item:hover{background:#F8F3EA}
.reader-toc__item.active{background:#3A241A;color:#C9A56A}
.reader-toc__item.active .reader-toc__num{background:#C9A56A;color:#3A241A}
.reader-toc__item.completed .reader-toc__num{background:#55745B;color:#fff}
.reader-toc__num{
  flex-shrink:0;width:24px;height:24px;border-radius:7px;
  background:#F8F3EA;color:#3A241A;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;
}
.reader-toc__item.active .reader-toc__num,
.reader-toc__item.completed .reader-toc__num{color:#fff}
.reader-toc__item.active .reader-toc__num{color:#3A241A}

/* Reading area */
.reader-main{
  background:#fff;border:1px solid #EFE4D2;border-radius:16px;
  padding:28px;box-shadow:0 4px 20px rgba(58,36,26,.05);
}
@media (min-width:768px){.reader-main{padding:40px 48px}}

.reader-breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;
  font-size:12px;color:#8B786A;margin-bottom:12px;
}
.reader-breadcrumb a{color:#8B786A;text-decoration:none}
.reader-breadcrumb a:hover{color:#C9A56A}
.reader-breadcrumb svg{width:12px;height:12px}

.reader-title{
  font-family:"Cormorant Garamond",serif;
  font-size:32px;font-weight:700;line-height:1.15;
  color:#3A241A;margin:8px 0 12px;
}
@media (min-width:768px){.reader-title{font-size:40px}}

.reader-meta{
  display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:#8B786A;
  padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid #EFE4D2;
}
.reader-meta-item{display:inline-flex;align-items:center;gap:5px}
.reader-meta-item svg{width:14px;height:14px;color:#C9A56A}

.reader-summary{
  padding:16px 20px;border-radius:12px;
  background:linear-gradient(135deg,#F8F3EA,#EFE4D2);
  border-left:4px solid #C9A56A;
  font-size:14px;color:#3A241A;line-height:1.65;
  margin-bottom:28px;font-style:italic;
}

.reader-content{
  font-size:15.5px;line-height:1.8;color:#29231F;
  margin-bottom:28px;
}
.reader-content p{margin:0 0 16px}

/* Step-by-step */
.reader-steps-title{
  display:flex;align-items:center;gap:8px;
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;
  margin:0 0 16px;
  padding-bottom:12px;border-bottom:1px solid #EFE4D2;
}
.reader-steps-title svg{color:#C9A56A;width:20px;height:20px}

.reader-steps{
  display:flex;flex-direction:column;gap:14px;
  position:relative;
}
.reader-step{
  display:flex;gap:16px;
  background:#FDFBF7;border:1px solid #EFE4D2;
  border-radius:14px;padding:16px 18px;
  transition:border-color .2s,transform .2s;
  position:relative;
}
.reader-step:hover{border-color:#C9A56A;transform:translateX(3px)}

.reader-step__num{
  flex-shrink:0;width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,#3A241A,#513528);color:#C9A56A;
  display:flex;align-items:center;justify-content:center;
  font-family:"Cormorant Garamond",serif;
  font-size:16px;font-weight:700;
  box-shadow:0 4px 12px rgba(58,36,26,.2);
}
.reader-step__body{flex:1;min-width:0}
.reader-step__title{
  font-family:"Cormorant Garamond",serif;
  font-size:18px;font-weight:700;color:#3A241A;
  margin:0 0 4px;line-height:1.3;
}
.reader-step__desc{
  font-size:13.5px;color:#5C4420;line-height:1.65;margin:0;
}

/* Callout types (untuk content opsional) */
.reader-callout{
  display:flex;gap:12px;padding:14px 16px;border-radius:12px;
  margin:20px 0;font-size:13.5px;line-height:1.6;
}
.reader-callout.tip{background:#FBF1DC;border-left:4px solid #C9A56A;color:#5C4420}
.reader-callout.info{background:#E8EEF5;border-left:4px solid #5B7BA5;color:#2D4A6B}
.reader-callout.warn{background:#F8E5E4;border-left:4px solid #A84B45;color:#8B2B25}
.reader-callout svg{flex-shrink:0;width:18px;height:18px;margin-top:2px}

/* Footer navigation */
.reader-footer{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
  gap:12px;margin-top:32px;padding-top:24px;
  border-top:1px solid #EFE4D2;
}
.reader-nav{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 18px;border-radius:10px;
  border:1px solid #EFE4D2;background:#fff;
  font-size:13px;font-weight:600;color:#3A241A;
  text-decoration:none;transition:all .2s;
  max-width:260px;
}
.reader-nav:hover{border-color:#C9A56A;background:#F8F3EA}
.reader-nav.next{background:#3A241A;color:#fff;border-color:#3A241A}
.reader-nav.next:hover{background:#2A1A13}
.reader-nav svg{width:16px;height:16px;flex-shrink:0}
.reader-nav__text{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.reader-nav__label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.7;font-weight:700}
.reader-nav__title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}

.reader-complete{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 22px;border-radius:10px;
  background:linear-gradient(135deg,#55745B,#6E8F73);color:#fff;
  border:0;cursor:pointer;font-size:13.5px;font-weight:700;
  text-decoration:none;transition:opacity .2s;
}
.reader-complete:hover{opacity:.9}
.reader-complete svg{width:16px;height:16px}
.reader-complete.done{background:#E9F3EB;color:#2D5A34;border:1px solid #55745B}

/* Progress bar di reader */
.reader-progress{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;border-radius:10px;
  background:#F8F3EA;margin-bottom:20px;
  font-size:12.5px;color:#3A241A;font-weight:600;
}
.reader-progress__track{
  flex:1;height:6px;background:#EFE4D2;border-radius:9999px;overflow:hidden;
}
.reader-progress__bar{
  height:100%;background:linear-gradient(90deg,#C9A56A,#E4C994);
  border-radius:9999px;transition:width .6s ease-out;min-width:4px;
}

/* Empty state */
.trn-empty{
  text-align:center;padding:48px 20px;
  background:#fff;border:1px solid #EFE4D2;border-radius:16px;
}
.trn-empty__icon{
  width:80px;height:80px;border-radius:50%;
  background:linear-gradient(135deg,#F8F3EA,#EFE4D2);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;
}
.trn-empty__icon svg{width:36px;height:36px;color:#C9A56A}
.trn-empty h3{font-family:"Cormorant Garamond",serif;font-size:22px;color:#3A241A;margin:0 0 6px}
.trn-empty p{color:#8B786A;font-size:13.5px;margin:0}

@media (max-width:640px){
  .trn-hero{padding:20px}
  .trn-hero h1{font-size:26px}
  .trn-hero__stat .val{font-size:22px}
  .reader-main{padding:20px}
  .reader-title{font-size:26px}
  .reader-step{padding:14px;gap:12px}
  .reader-step__num{width:30px;height:30px;font-size:14px}
  .reader-step__title{font-size:16px}
  .reader-nav{max-width:100%;flex:1}
  .reader-nav__title{max-width:140px}
}

/* ============================================================
 * SUPPORT PAGE
 * ============================================================ */
.sup-hero{
  background:linear-gradient(135deg,#3A241A 0%,#513528 55%,#2A1A13 100%);
  color:#fff;border-radius:20px;padding:24px;
  position:relative;overflow:hidden;
  box-shadow:0 12px 40px rgba(58,36,26,.25);
  margin-bottom:24px;
}
.sup-hero::before{
  content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.35) 0%,transparent 70%);
}
.sup-hero__content{position:relative;z-index:2}
.sup-hero__label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:#C9A56A;background:rgba(255,255,255,.05);padding:5px 11px;
  border-radius:9999px;border:1px solid rgba(201,165,106,.3);
}
.sup-hero h1{
  color:#fff;font-family:"Cormorant Garamond",serif;
  font-size:32px;font-weight:700;line-height:1.1;margin:10px 0 8px;
}
@media (min-width:768px){.sup-hero h1{font-size:42px}}
.sup-hero p{color:rgba(255,255,255,.75);font-size:13.5px;line-height:1.6;margin:0;max-width:560px}

.sup-hero__stats{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
  margin-top:22px;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.1);
}
@media (min-width:640px){.sup-hero__stats{grid-template-columns:repeat(3,1fr)}}
.sup-hero__stat .lbl{
  font-size:10px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:6px;
}
.sup-hero__stat .val{
  font-family:"Cormorant Garamond",serif;
  font-size:26px;font-weight:700;color:#C9A56A;line-height:1;
}
.sup-hero__stat .sub{font-size:11px;color:rgba(255,255,255,.55);margin-top:4px}

/* Section heading */
.sup-section-head{
  display:flex;align-items:center;gap:10px;margin:0 0 16px;
}
.sup-section-head__icon{
  width:36px;height:36px;border-radius:10px;
  background:linear-gradient(135deg,#C9A56A,#E4C994);color:#3A241A;
  display:flex;align-items:center;justify-content:center;
}
.sup-section-head__icon svg{width:18px;height:18px}
.sup-section-head h2{
  font-family:"Cormorant Garamond",serif;
  font-size:24px;font-weight:700;color:#3A241A;margin:0;
  line-height:1.2;
}
.sup-section-head p{font-size:12.5px;color:#8B786A;margin:2px 0 0}

/* Hotline grid */
.sup-hotlines{
  display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:32px;
}
@media (min-width:768px){.sup-hotlines{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.sup-hotlines{grid-template-columns:repeat(3,1fr)}}

.sup-hotline{
  background:#fff;border:1px solid #EFE4D2;border-radius:16px;
  padding:18px;box-shadow:0 4px 20px rgba(58,36,26,.05);
  display:flex;flex-direction:column;gap:12px;
  transition:transform .2s,box-shadow .2s,border-color .2s;
  position:relative;overflow:hidden;
}
.sup-hotline:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 32px rgba(58,36,26,.1);
  border-color:#C9A56A;
}
.sup-hotline::before{
  content:"";position:absolute;right:-30px;top:-30px;width:100px;height:100px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.12) 0%,transparent 70%);
  pointer-events:none;
}

.sup-hotline__head{display:flex;align-items:flex-start;gap:12px;position:relative;z-index:1}
.sup-hotline__icon{
  width:44px;height:44px;border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.sup-hotline__icon svg{width:22px;height:22px}
.sup-hotline__icon.product{background:linear-gradient(135deg,#3A241A,#513528);color:#C9A56A}
.sup-hotline__icon.skincare{background:linear-gradient(135deg,#C9A56A,#E4C994);color:#3A241A}
.sup-hotline__icon.mlm{background:linear-gradient(135deg,#55745B,#6E8F73);color:#fff}
.sup-hotline__icon.general{background:linear-gradient(135deg,#5B7BA5,#7A9CC0);color:#fff}
.sup-hotline__icon.emergency{background:linear-gradient(135deg,#A84B45,#C36C64);color:#fff}
.sup-hotline__title-wrap{flex:1;min-width:0}
.sup-hotline__cat{
  font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#C9A56A;margin-bottom:2px;
}
.sup-hotline__title{
  font-family:"Cormorant Garamond",serif;
  font-size:19px;font-weight:700;color:#3A241A;
  line-height:1.15;margin:0;
}
.sup-hotline__badge{
  font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:3px 7px;border-radius:5px;background:#E9F3EB;color:#2D5A34;
  flex-shrink:0;
}

.sup-hotline__desc{
  font-size:12.5px;color:#8B786A;line-height:1.55;margin:0;
  position:relative;z-index:1;
  min-height:38px;
}

.sup-hotline__contact{
  background:#F8F3EA;border:1px dashed #C9A56A;
  border-radius:10px;padding:12px;
  display:flex;flex-direction:column;gap:6px;
  position:relative;z-index:1;
}
.sup-hotline__number{
  font-family:ui-monospace,Menlo,monospace;
  font-size:14px;font-weight:700;color:#3A241A;
  letter-spacing:.5px;
}
.sup-hotline__hours{
  font-size:11px;color:#8B786A;
  display:flex;align-items:center;gap:5px;
}
.sup-hotline__hours svg{width:12px;height:12px;color:#C9A56A}

.sup-hotline__actions{
  display:flex;gap:8px;margin-top:auto;position:relative;z-index:1;
}
.sup-hotline__btn{
  flex:1;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:10px 14px;border-radius:9px;
  font-size:12.5px;font-weight:700;
  text-decoration:none;cursor:pointer;border:0;
  transition:all .2s;
}
.sup-hotline__btn.primary{background:#3A241A;color:#fff}
.sup-hotline__btn.primary:hover{background:#2A1A13}
.sup-hotline__btn.secondary{
  background:transparent;color:#3A241A;
  border:1px solid #EFE4D2;
}
.sup-hotline__btn.secondary:hover{background:#F8F3EA;border-color:#C9A56A}
.sup-hotline__btn svg{width:14px;height:14px}

/* Office card */
.sup-office{
  background:linear-gradient(135deg,#F8F3EA,#EFE4D2);
  border:1px solid #C9A56A;border-radius:16px;
  padding:24px;margin-bottom:32px;
  position:relative;overflow:hidden;
}
.sup-office::before{
  content:"";position:absolute;right:-50px;bottom:-50px;width:180px;height:180px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,165,106,.25) 0%,transparent 70%);
  pointer-events:none;
}
.sup-office__grid{
  display:grid;grid-template-columns:1fr;gap:20px;
  position:relative;z-index:1;
}
@media (min-width:768px){.sup-office__grid{grid-template-columns:1.5fr 1fr}}
.sup-office__info h3{
  font-family:"Cormorant Garamond",serif;
  font-size:26px;font-weight:700;color:#3A241A;
  margin:0 0 12px;line-height:1.15;
}
.sup-office__row{
  display:flex;gap:10px;margin-bottom:12px;
  font-size:13.5px;color:#3A241A;line-height:1.6;
}
.sup-office__row svg{
  flex-shrink:0;width:18px;height:18px;color:#C9A56A;margin-top:2px;
}
.sup-office__row strong{color:#3A241A}
.sup-office__row a{color:#C9A56A;text-decoration:none;font-weight:600}
.sup-office__row a:hover{text-decoration:underline}
.sup-office__map{
  background:#fff;border:1px solid #EFE4D2;border-radius:14px;
  padding:16px;display:flex;flex-direction:column;
  gap:10px;justify-content:center;
}
.sup-office__map-icon{
  width:52px;height:52px;border-radius:14px;
  background:linear-gradient(135deg,#3A241A,#513528);color:#C9A56A;
  display:flex;align-items:center;justify-content:center;
}
.sup-office__map-icon svg{width:26px;height:26px}
.sup-office__map h4{
  font-family:"Cormorant Garamond",serif;
  font-size:18px;color:#3A241A;margin:0;
}
.sup-office__map p{font-size:12px;color:#8B786A;margin:0;line-height:1.5}
.sup-office__map .btn-gold{width:100%;justify-content:center;padding:11px;font-size:13px}

/* FAQ Accordion */
.sup-faq-tabs{
  display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;
}
.sup-faq-tab{
  padding:8px 14px;border-radius:9999px;
  background:#fff;border:1px solid #EFE4D2;
  font-size:12.5px;font-weight:600;color:#3A241A;
  cursor:pointer;transition:all .2s;
}
.sup-faq-tab:hover{border-color:#C9A56A}
.sup-faq-tab.active{background:#3A241A;color:#C9A56A;border-color:#3A241A}

.sup-faq-list{display:flex;flex-direction:column;gap:8px;margin-bottom:32px}
.sup-faq{
  background:#fff;border:1px solid #EFE4D2;border-radius:12px;
  overflow:hidden;transition:border-color .2s;
}
.sup-faq[open]{border-color:#C9A56A}
.sup-faq summary{
  padding:14px 18px;cursor:pointer;list-style:none;
  display:flex;align-items:center;gap:10px;
  font-size:14px;font-weight:600;color:#3A241A;
  transition:background .2s;
}
.sup-faq summary::-webkit-details-marker{display:none}
.sup-faq summary:hover{background:#F8F3EA}
.sup-faq[open] summary{background:#F8F3EA;border-bottom:1px solid #EFE4D2}
.sup-faq summary::before{
  content:"+";flex-shrink:0;
  width:22px;height:22px;border-radius:6px;
  background:#F8F3EA;color:#3A241A;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:700;line-height:1;
  transition:transform .2s,background .2s;
}
.sup-faq[open] summary::before{
  content:"−";background:#3A241A;color:#C9A56A;
}
.sup-faq__answer{
  padding:16px 18px;font-size:13.5px;color:#5C4420;line-height:1.7;
}

/* Ticket form */
.sup-form{
  background:#fff;border:1px solid #EFE4D2;border-radius:16px;
  padding:24px;box-shadow:0 4px 20px rgba(58,36,26,.05);
  margin-bottom:32px;
}
.sup-form__head{margin-bottom:18px}
.sup-form__head h3{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;margin:0 0 4px;
}
.sup-form__head p{font-size:13px;color:#8B786A;margin:0}

.sup-form__grid{
  display:grid;grid-template-columns:1fr;gap:14px;
}
@media (min-width:640px){.sup-form__grid{grid-template-columns:1fr 1fr}}
.sup-form__grid .full{grid-column:1/-1}

.sup-select, .sup-input, .sup-textarea{
  width:100%;border:1px solid #EFE4D2;border-radius:10px;
  padding:12px 14px;font-size:13.5px;background:#fff;
  font-family:inherit;outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.sup-select:focus, .sup-input:focus, .sup-textarea:focus{
  border-color:#C9A56A;box-shadow:0 0 0 3px rgba(201,165,106,.15);
}
.sup-textarea{resize:vertical;min-height:120px;line-height:1.6}

/* Recent tickets */
.sup-tickets{
  background:#fff;border:1px solid #EFE4D2;border-radius:16px;
  overflow:hidden;box-shadow:0 4px 20px rgba(58,36,26,.05);
  margin-bottom:24px;
}
.sup-tickets__head{
  padding:18px 20px;border-bottom:1px solid #EFE4D2;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:8px;
}
.sup-tickets__head h3{
  font-family:"Cormorant Garamond",serif;
  font-size:20px;font-weight:700;color:#3A241A;margin:0;
}
.sup-tickets__head a{
  font-size:12px;font-weight:700;color:#C9A56A;text-decoration:none;
}
.sup-tickets__head a:hover{text-decoration:underline}
.sup-ticket-row{
  display:flex;align-items:center;gap:14px;
  padding:14px 20px;border-top:1px solid #EFE4D2;
  text-decoration:none;color:inherit;
  transition:background .2s;
}
.sup-ticket-row:hover{background:#FDFBF7}
.sup-ticket-row__icon{
  width:40px;height:40px;border-radius:11px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.sup-ticket-row__info{flex:1;min-width:0}
.sup-ticket-row__no{
  font-family:ui-monospace,Menlo,monospace;
  font-size:11.5px;font-weight:700;color:#8B786A;
}
.sup-ticket-row__subject{
  font-size:13.5px;font-weight:600;color:#3A241A;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  margin-top:3px;
}
.sup-ticket-row__meta{font-size:11px;color:#8B786A;margin-top:2px}

.sup-badge-ticket{
  display:inline-flex;align-items:center;gap:4px;
  font-size:10px;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;
  padding:3px 8px;border-radius:5px;
}
.sup-badge-ticket.open{background:#E8EEF5;color:#2D4A6B}
.sup-badge-ticket.in_progress{background:#FBF1DC;color:#8B6A2C}
.sup-badge-ticket.waiting{background:#F5E7C9;color:#5C4420}
.sup-badge-ticket.resolved{background:#E9F3EB;color:#2D5A34}
.sup-badge-ticket.closed{background:#EFE4D2;color:#8B786A}

.sup-empty{
  text-align:center;padding:40px 20px;color:#8B786A;
}
.sup-empty svg{
  width:44px;height:44px;color:#C9A56A;opacity:.5;
  margin:0 auto 12px;
}
.sup-empty p{font-size:13px;margin:0}

@media (max-width:640px){
  .sup-hero{padding:20px}
  .sup-hero h1{font-size:26px}
  .sup-hero__stat .val{font-size:22px}
  .sup-office{padding:18px}
  .sup-office__info h3{font-size:20px}
  .sup-form{padding:18px}
}

/* ============================================================
 * MOBILE MENU MODAL
 * ============================================================ */
.rg-menu-trigger{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;padding:10px 4px;
  font-size:10.5px;font-weight:600;color:#8B786A;
  background:none;border:0;cursor:pointer;
  transition:color .2s;
  text-decoration:none;
}
.rg-menu-trigger:hover,
.rg-menu-trigger.active{color:#C9A56A}
.rg-menu-trigger svg{width:20px;height:20px}

.rg-menu-overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  z-index:9998;
}
.rg-menu-panel{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:9999;
  background:#fff;
  border-radius:24px 24px 0 0;
  max-height:88vh;
  display:flex;flex-direction:column;
  box-shadow:0 -20px 60px rgba(58,36,26,.25);
  animation:rgMenuSlideUp .3s cubic-bezier(.4,0,.2,1);
}
@keyframes rgMenuSlideUp{
  from{transform:translateY(100%)}
  to{transform:translateY(0)}
}

.rg-menu-panel__handle{
  width:44px;height:5px;border-radius:9999px;
  background:#D4C8B8;margin:12px auto 0;
}
.rg-menu-panel__head{
  padding:16px 20px 12px;
  border-bottom:1px solid #EFE4D2;
  display:flex;align-items:center;justify-content:space-between;
}
.rg-menu-panel__title{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;font-weight:700;color:#3A241A;
  margin:0;display:flex;align-items:center;gap:8px;
}
.rg-menu-panel__title svg{width:18px;height:18px;color:#C9A56A}
.rg-menu-panel__close{
  width:34px;height:34px;border-radius:10px;
  background:#F8F3EA;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:#3A241A;
}
.rg-menu-panel__close:hover{background:#EFE4D2}
.rg-menu-panel__close svg{width:18px;height:18px}

.rg-menu-panel__user{
  padding:14px 20px;
  display:flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,#F8F3EA,#EFE4D2);
  margin:0 16px;
  border-radius:14px;
  border:1px solid #EFE4D2;
}
.rg-menu-panel__avatar{
  width:42px;height:42px;border-radius:50%;
  background:linear-gradient(135deg,#C9A56A,#E4C994);
  color:#3A241A;
  display:flex;align-items:center;justify-content:center;
  font-family:"Cormorant Garamond",serif;
  font-weight:700;font-size:18px;flex-shrink:0;
}
.rg-menu-panel__user-info{flex:1;min-width:0}
.rg-menu-panel__user-name{
  font-weight:700;color:#3A241A;font-size:14px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.rg-menu-panel__user-meta{
  font-size:11.5px;color:#8B786A;margin-top:2px;
}

.rg-menu-panel__content{
  flex:1;overflow-y:auto;
  padding:16px 16px 24px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:rgba(201,165,106,.4) transparent;
}
.rg-menu-panel__content::-webkit-scrollbar{width:6px}
.rg-menu-panel__content::-webkit-scrollbar-thumb{
  background:rgba(201,165,106,.4);border-radius:9999px;
}

.rg-menu-section{margin-bottom:20px}
.rg-menu-section:last-child{margin-bottom:0}
.rg-menu-section__title{
  font-size:10.5px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:#8B786A;
  padding:0 4px 10px;
  display:flex;align-items:center;gap:8px;
}
.rg-menu-section__title::after{
  content:"";flex:1;height:1px;background:#EFE4D2;
}

.rg-menu-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
@media (min-width:480px){
  .rg-menu-grid{grid-template-columns:repeat(4,1fr)}
}

.rg-menu-tile{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;padding:14px 8px;
  background:#fff;border:1px solid #EFE4D2;
  border-radius:14px;
  text-decoration:none;color:#3A241A;
  transition:all .2s;
  min-height:88px;
}
.rg-menu-tile:hover{
  border-color:#C9A56A;
  background:#FDFBF7;
  transform:translateY(-2px);
}
.rg-menu-tile.active{
  background:linear-gradient(135deg,#3A241A,#513528);
  color:#C9A56A;border-color:#3A241A;
}
.rg-menu-tile.active .rg-menu-tile__icon{
  background:rgba(201,165,106,.2);color:#C9A56A;
}

.rg-menu-tile__icon{
  width:36px;height:36px;border-radius:10px;
  background:#F8F3EA;color:#3A241A;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:background .2s;
}
.rg-menu-tile__icon svg{width:18px;height:18px}

.rg-menu-tile__label{
  font-size:11.5px;font-weight:600;text-align:center;
  line-height:1.25;
}

.rg-menu-panel__footer{
  padding:14px 20px;
  border-top:1px solid #EFE4D2;
  padding-bottom:calc(14px + env(safe-area-inset-bottom, 0));
}
.rg-menu-panel__logout{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:12px;border-radius:10px;
  background:#F8E5E4;color:#8B2B25;
  font-size:13px;font-weight:700;
  text-decoration:none;transition:opacity .2s;
  border:0;width:100%;cursor:pointer;
}
.rg-menu-panel__logout:hover{opacity:.9}
.rg-menu-panel__logout svg{width:16px;height:16px}

/* Bottom nav: adjust grid to 5 items including All Menu */
.rg-bottom-nav-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
}
.rg-bottom-nav-grid a,
.rg-bottom-nav-grid button{
  text-decoration:none;
}

/* ============================================================
 * NAVBAR LOGO
 * ============================================================ */
.rg-navbar-brand{
  display:flex;align-items:center;gap:10px;
  text-decoration:none;color:inherit;
  flex-shrink:0;
  min-width:0;
}
.rg-navbar-logo{
  width:40px;height:40px;
  object-fit:contain;
  border-radius:10px;
  flex-shrink:0;
  transition:transform .25s;
}
@media (min-width:768px){
  .rg-navbar-logo{width:44px;height:44px}
}
.rg-navbar-brand:hover .rg-navbar-logo{
  transform:scale(1.05);
}
.rg-navbar-logo-fallback{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,#C9A56A,#E4C994);
  color:#3A241A;font-family:"Cormorant Garamond",serif;
  font-weight:700;font-size:18px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
@media (min-width:768px){
  .rg-navbar-logo-fallback{width:44px;height:44px;font-size:20px}
}
.rg-navbar-text{
  display:flex;flex-direction:column;line-height:1.05;
  min-width:0;
}
.rg-navbar-title{
  font-family:"Cormorant Garamond",serif;
  font-weight:700;font-size:18px;letter-spacing:1.5px;
  color:#3A241A;
  white-space:nowrap;
}
@media (min-width:768px){
  .rg-navbar-title{font-size:22px;letter-spacing:2px}
}
.rg-navbar-tagline{
  font-size:8px;font-weight:700;letter-spacing:2.5px;
  text-transform:uppercase;
  color:#C9A56A;
  margin-top:1px;
}
@media (min-width:768px){
  .rg-navbar-tagline{font-size:9px;letter-spacing:3px}
}
@media (max-width:400px){
  .rg-navbar-tagline{display:none}
  .rg-navbar-title{font-size:16px;letter-spacing:1px}
  .rg-navbar-logo,.rg-navbar-logo-fallback{width:36px;height:36px}
}

/* ============================================================
 * NAVBAR LOGO — RECTANGULAR (677x369)
 * Override default square
 * ============================================================ */
.rg-navbar-logo{
  width:auto !important;
  height:36px !important;
  max-width:none !important;
  border-radius:0 !important;
  object-fit:contain;
  flex-shrink:0;
}
@media (min-width:768px){
  .rg-navbar-logo{
    height:44px !important;
  }
}

/* Adjust brand text next to logo */
.rg-navbar-brand{
  gap:12px;
}

/* Karena logo sudah berisi wordmark "Resik Glow", 
   sembunyikan teks brand duplicate */
.rg-navbar-brand .rg-navbar-text{
  display:flex;
}
@media (max-width:640px){
  .rg-navbar-brand .rg-navbar-text{
    display:none; /* mobile: sembunyikan teks, cukup logo */
  }
}

/* Fallback kalau logo tidak ada */
.rg-navbar-logo-fallback{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,#C9A56A,#E4C994);
  color:#3A241A;font-family:"Cormorant Garamond",serif;
  font-weight:700;font-size:18px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}

/* ============================================================
 * NAVBAR LOGO — RECTANGULAR 612x408 (ratio 1.5)
 * ============================================================ */
.rg-navbar-logo{
  width:auto;
  height:40px;
  max-width:180px;
  border-radius:0;
  object-fit:contain;
  flex-shrink:0;
}
@media (min-width:768px){
  .rg-navbar-logo{
    height:48px;
    max-width:220px;
  }
}
@media (max-width:640px){
  .rg-navbar-logo{
    height:36px;
    max-width:140px;
  }
}

/* ============================================================
 * NAVBAR LOGO — LEBIH BESAR
 * ============================================================ */
.rg-navbar-brand{
  display:flex;align-items:center;gap:12px;
  text-decoration:none;color:inherit;
  flex-shrink:0;
  min-width:0;
  padding:4px 0;
}
.rg-navbar-logo{
  width:auto;
  height:52px;
  max-width:200px;
  object-fit:contain;
  border-radius:0;
  flex-shrink:0;
  transition:transform .25s;
  image-rendering:-webkit-optimize-contrast;
}
.rg-navbar-brand:hover .rg-navbar-logo{
  transform:scale(1.03);
}
@media (min-width:768px){
  .rg-navbar-logo{
    height:64px;
    max-width:240px;
  }
}
@media (max-width:640px){
  .rg-navbar-logo{
    height:42px;
    max-width:150px;
  }
}
@media (max-width:380px){
  .rg-navbar-logo{
    height:36px;
    max-width:130px;
  }
}

/* Navbar height lebih besar untuk akomodasi logo */
header.sticky > nav{
  height:80px !important;
}
@media (min-width:768px){
  header.sticky > nav{
    height:88px !important;
  }
}
@media (max-width:640px){
  header.sticky > nav{
    height:68px !important;
  }
}

.rg-navbar-title{
  font-size:22px;
}
@media (min-width:768px){
  .rg-navbar-title{font-size:26px;letter-spacing:2px}
}
@media (max-width:640px){
  .rg-navbar-title{font-size:18px;letter-spacing:1.2px}
}

/* ============================================================
 * PRELOADER GLOBAL
 * ============================================================ */
.rg-preloader{
  position:fixed;
  inset:0;
  z-index:99999;
  background:rgba(248,243,234,.96);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:20px;
  opacity:1;
  visibility:visible;
  transition:opacity .4s ease,visibility .4s ease;
}
.rg-preloader.hide{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

/* Dark theme variant (member/admin) */
.rg-preloader.dark{
  background:rgba(58,36,26,.96);
}
.rg-preloader.dark .rg-preloader__label{
  color:#C9A56A;
}
.rg-preloader.dark .rg-preloader__sub{
  color:rgba(255,255,255,.5);
}

.rg-preloader__logo-wrap{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  padding:24px;
}
.rg-preloader__logo{
  height:70px;
  width:auto;
  max-width:200px;
  object-fit:contain;
  animation:rgLogoPulse 1.6s ease-in-out infinite;
  position:relative;z-index:2;
}
@media (min-width:768px){
  .rg-preloader__logo{height:90px;max-width:260px}
}

/* Fallback RG */
.rg-preloader__fallback{
  font-family:"Cormorant Garamond",serif;
  font-size:56px;font-weight:700;
  color:#3A241A;
  animation:rgLogoPulse 1.6s ease-in-out infinite;
  position:relative;z-index:2;
}

/* Ring berputar */
.rg-preloader__ring{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:140px;height:140px;
  border-radius:50%;
  border:2px solid rgba(201,165,106,.2);
  border-top-color:#C9A56A;
  animation:rgSpin 1s linear infinite;
  z-index:1;
}
@media (min-width:768px){
  .rg-preloader__ring{width:170px;height:170px}
}
.rg-preloader__ring::before{
  content:"";
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:100%;height:100%;
  border-radius:50%;
  border:2px solid transparent;
  border-bottom-color:rgba(201,165,106,.4);
  animation:rgSpin 2s linear infinite reverse;
}

@keyframes rgLogoPulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.06);opacity:.92}
}
@keyframes rgSpin{
  to{transform:translate(-50%,-50%) rotate(360deg)}
}

/* Dot loader bawah */
.rg-preloader__dots{
  display:flex;gap:6px;margin-top:6px;
}
.rg-preloader__dots span{
  width:8px;height:8px;border-radius:50%;
  background:#C9A56A;
  animation:rgDotBounce 1.4s ease-in-out infinite;
}
.rg-preloader__dots span:nth-child(2){animation-delay:.2s}
.rg-preloader__dots span:nth-child(3){animation-delay:.4s}

@keyframes rgDotBounce{
  0%,80%,100%{transform:scale(.6);opacity:.4}
  40%{transform:scale(1);opacity:1}
}

.rg-preloader__label{
  font-family:"Cormorant Garamond",serif;
  font-size:16px;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;
  color:#3A241A;
  margin-top:4px;
}
.rg-preloader__sub{
  font-size:11.5px;
  color:#8B786A;
  letter-spacing:.5px;
}

/* Progress bar kecil */
.rg-preloader__progress{
  width:180px;height:3px;
  background:rgba(201,165,106,.2);
  border-radius:9999px;
  overflow:hidden;
  margin-top:8px;
}
.rg-preloader__progress-bar{
  height:100%;
  background:linear-gradient(90deg,#C9A56A,#E4C994);
  border-radius:9999px;
  animation:rgProgress 1.8s ease-in-out infinite;
}
@keyframes rgProgress{
  0%{width:0%;margin-left:0}
  50%{width:60%;margin-left:20%}
  100%{width:0%;margin-left:100%}
}

/* ============================================================
 * BUTTON SUBMIT PRELOADER (inline)
 * ============================================================ */
.btn-loading{
  position:relative;
  pointer-events:none;
  color:transparent !important;
}
.btn-loading::after{
  content:"";
  position:absolute;
  top:50%;left:50%;
  width:18px;height:18px;
  margin:-9px 0 0 -9px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.3);
  border-top-color:#fff;
  animation:rgSpinSimple .8s linear infinite;
}
.btn-loading.btn-outline::after,
.btn-loading.btn-gold::after{
  border-color:rgba(58,36,26,.2);
  border-top-color:#3A241A;
}
@keyframes rgSpinSimple{
  to{transform:rotate(360deg)}
}

/* ============================================================
 * NAVBAR LOGO — VERSI BESAR (final)
 * Override semua rule sebelumnya
 * ============================================================ */
header.sticky > nav,
nav.rg-navbar{
  height:104px !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
}

.rg-navbar-brand{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:6px 0 !important;
}

.rg-navbar-logo{
  width:auto !important;
  height:88px !important;
  max-width:340px !important;
  object-fit:contain !important;
  border-radius:0 !important;
  flex-shrink:0 !important;
  image-rendering:-webkit-optimize-contrast;
  transition:transform .25s;
}
.rg-navbar-brand:hover .rg-navbar-logo{
  transform:scale(1.03);
}

/* Tablet */
@media (min-width:768px) and (max-width:1023px){
  header.sticky > nav{height:96px !important}
  .rg-navbar-logo{
    height:78px !important;
    max-width:300px !important;
  }
}

/* Mobile */
@media (max-width:767px){
  header.sticky > nav{height:76px !important}
  .rg-navbar-logo{
    height:60px !important;
    max-width:220px !important;
  }
}

/* Mobile kecil */
@media (max-width:420px){
  header.sticky > nav{height:68px !important}
  .rg-navbar-logo{
    height:50px !important;
    max-width:180px !important;
  }
}

/* Brand text — sembunyikan karena logo sudah besar */
.rg-navbar-text{
  display:none !important;
}

/* Menu desktop: sesuaikan posisi karena navbar tinggi */
header.sticky > nav > div.hidden.lg\:flex{
  font-size:14px !important;
  gap:22px !important;
}

/* Action buttons */
header.sticky .btn-primary{
  padding:10px 18px !important;
  font-size:13.5px !important;
}

/* ============================================================
 * NAVBAR LOGO — FINAL untuk resiklogo.png (677x369)
 * ============================================================ */
header.sticky > nav{
  height:90px !important;
  padding-top:6px !important;
  padding-bottom:6px !important;
}

.rg-navbar-brand{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}

.rg-navbar-logo{
  height:72px !important;
  width:auto !important;
  max-width:200px !important;
  object-fit:contain !important;
  border-radius:0 !important;
  flex-shrink:0 !important;
  image-rendering:-webkit-optimize-contrast;
  transition:transform .25s;
}
.rg-navbar-brand:hover .rg-navbar-logo{
  transform:scale(1.03);
}

/* Tablet */
@media (min-width:768px) and (max-width:1023px){
  header.sticky > nav{height:84px !important}
  .rg-navbar-logo{
    height:64px !important;
    max-width:180px !important;
  }
}

/* Mobile */
@media (max-width:767px){
  header.sticky > nav{height:70px !important}
  .rg-navbar-logo{
    height:52px !important;
    max-width:150px !important;
  }
}

/* Mobile kecil */
@media (max-width:420px){
  header.sticky > nav{height:64px !important}
  .rg-navbar-logo{
    height:44px !important;
    max-width:130px !important;
  }
}

/* Sembunyikan brand text karena logo sudah berisi wordmark */
.rg-navbar-text{
  display:none !important;
}

/* ============================================================
 * LOGO GLOBAL — SEMUA HALAMAN (perbesar)
 * ============================================================ */

/* ---------- NAVBAR PUBLIK ---------- */
header.sticky > nav{
  height:96px !important;
  padding-top:6px !important;
  padding-bottom:6px !important;
}
.rg-navbar-brand{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
.rg-navbar-logo{
  height:78px !important;
  width:auto !important;
  max-width:220px !important;
  object-fit:contain !important;
  border-radius:0 !important;
  flex-shrink:0 !important;
}
@media (max-width:767px){
  header.sticky > nav{height:76px !important}
  .rg-navbar-logo{
    height:60px !important;
    max-width:180px !important;
  }
}
@media (max-width:420px){
  header.sticky > nav{height:68px !important}
  .rg-navbar-logo{
    height:50px !important;
    max-width:150px !important;
  }
}

/* ---------- SIDEBAR MEMBER ---------- */
.rg-sidebar img{
  height:56px !important;
  width:auto !important;
  max-width:180px !important;
  object-fit:contain !important;
}
.rg-sidebar > div:first-child{
  padding-bottom:20px !important;
  border-bottom:1px solid rgba(255,255,255,.08);
  margin-bottom:20px !important;
}

/* ---------- SIDEBAR ADMIN ---------- */
.rg-admin-drawer img{
  height:56px !important;
  width:auto !important;
  max-width:180px !important;
  object-fit:contain !important;
}
.rg-admin-topbar img{
  height:42px !important;
  width:auto !important;
  max-width:140px !important;
}

/* ---------- MOBILE HEADER (member) ---------- */
.rg-mobile-header .brand img{
  height:44px !important;
  width:auto !important;
  max-width:140px !important;
}

/* ---------- FOOTER ---------- */
.rg-footer-logo{
  height:80px !important;
  width:auto !important;
  max-width:220px !important;
  object-fit:contain !important;
  margin-bottom:16px;
  display:block;
}
@media (max-width:767px){
  .rg-footer-logo{
    height:60px !important;
    max-width:180px !important;
  }
}

/* ---------- LOGIN / REGISTER PANEL ---------- */
.auth-brand-logo{
  height:80px !important;
  width:auto !important;
  max-width:240px !important;
  object-fit:contain !important;
  margin-bottom:20px;
}
@media (min-width:1024px){
  .auth-brand-logo{
    height:96px !important;
    max-width:280px !important;
  }
}

/* Logo kecil di atas form mobile login/register */
.auth-form-logo{
  height:64px !important;
  width:auto !important;
  max-width:200px !important;
  object-fit:contain !important;
  margin:0 auto 16px !important;
  display:block;
}

/* ---------- PRELOADER ---------- */
.rg-preloader__logo{
  height:100px !important;
  max-width:280px !important;
}
@media (min-width:768px){
  .rg-preloader__logo{
    height:130px !important;
    max-width:340px !important;
  }
}

/* ============================================================
 * FOOTER PUBLIC — REDESIGN
 * ============================================================ */
.rg-footer{
  background:linear-gradient(180deg,#3A241A 0%,#2A1A13 100%);
  color:#fff;
  margin-top:80px;
  position:relative;
  overflow:hidden;
}
.rg-footer::before{
  content:"";position:absolute;right:-100px;top:-100px;width:320px;height:320px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(201,165,106,.12) 0%,transparent 70%);
  pointer-events:none;
}

.rg-footer__main{
  max-width:1280px;
  margin:0 auto;
  padding:56px 20px 40px;
  position:relative;z-index:1;
}
@media (min-width:768px){
  .rg-footer__main{padding:72px 32px 48px}
}

.rg-footer__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:40px;
}
@media (min-width:768px){
  .rg-footer__grid{
    grid-template-columns:repeat(2,1fr);
    gap:40px 32px;
  }
}
@media (min-width:1024px){
  .rg-footer__grid{
    grid-template-columns:2fr 1fr 1fr 1.6fr;
    gap:48px;
  }
}

.rg-footer__col{min-width:0}

/* Brand column */
.rg-footer__col--brand{
  max-width:400px;
}
.rg-footer__logo-fallback{
  display:inline-flex;align-items:center;justify-content:center;
  width:80px;height:80px;border-radius:16px;
  background:linear-gradient(135deg,#C9A56A,#E4C994);
  color:#3A241A;font-family:"Cormorant Garamond",serif;
  font-weight:700;font-size:32px;
  margin-bottom:16px;
}
.rg-footer__tagline{
  font-size:12px;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:#C9A56A;
  margin:0 0 12px;
}
.rg-footer__desc{
  font-size:13.5px;line-height:1.7;
  color:rgba(255,255,255,.7);
  margin:0 0 20px;
  max-width:360px;
}

.rg-footer__socials{
  display:flex;gap:10px;
}
.rg-footer__social{
  width:40px;height:40px;border-radius:11px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  color:#fff;text-decoration:none;
  transition:all .25s;
}
.rg-footer__social:hover{
  background:#C9A56A;
  border-color:#C9A56A;
  color:#3A241A;
  transform:translateY(-3px);
}
.rg-footer__social svg{width:18px;height:18px}

/* Titles */
.rg-footer__title{
  font-family:"Cormorant Garamond",serif;
  font-size:18px;font-weight:700;
  color:#C9A56A;
  margin:0 0 18px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(201,165,106,.2);
  position:relative;
  letter-spacing:.5px;
}
.rg-footer__title::after{
  content:"";position:absolute;
  left:0;bottom:-1px;
  width:40px;height:2px;
  background:#C9A56A;
}

/* Links */
.rg-footer__links{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:11px;
}
.rg-footer__links a{
  font-size:13.5px;
  color:rgba(255,255,255,.7);
  text-decoration:none;
  transition:all .2s;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.rg-footer__links a::before{
  content:"→";
  color:#C9A56A;
  font-size:12px;
  opacity:0;
  transform:translateX(-6px);
  transition:all .2s;
}
.rg-footer__links a:hover{
  color:#C9A56A;
  padding-left:2px;
}
.rg-footer__links a:hover::before{
  opacity:1;
  transform:translateX(0);
}

/* Address */
.rg-footer__address{
  display:flex;flex-direction:column;gap:16px;
}
.rg-footer__address-item{
  display:flex;gap:12px;
  font-size:13px;line-height:1.65;
  color:rgba(255,255,255,.7);
}
.rg-footer__address-item svg{
  flex-shrink:0;
  width:18px;height:18px;
  color:#C9A56A;
  margin-top:2px;
}
.rg-footer__address-item strong{
  color:#fff;
  font-weight:700;
  display:block;
  margin-bottom:2px;
  font-size:13px;
}
.rg-footer__address-item a{
  color:rgba(255,255,255,.8);
  text-decoration:none;
  transition:color .2s;
}
.rg-footer__address-item a:hover{color:#C9A56A}

/* Bottom bar */
.rg-footer__bottom{
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.15);
}
.rg-footer__bottom-inner{
  max-width:1280px;
  margin:0 auto;
  padding:20px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
@media (min-width:768px){
  .rg-footer__bottom-inner{padding:20px 32px}
}
.rg-footer__copy{
  font-size:12.5px;
  color:rgba(255,255,255,.55);
}
.rg-footer__copy strong{color:#C9A56A;font-weight:700}
.rg-footer__bottom-links{
  display:flex;gap:10px;align-items:center;
  font-size:12.5px;
  color:rgba(255,255,255,.4);
}
.rg-footer__bottom-links a{
  color:rgba(255,255,255,.6);
  text-decoration:none;
  transition:color .2s;
}
.rg-footer__bottom-links a:hover{color:#C9A56A}

@media (max-width:640px){
  .rg-footer{margin-top:60px}
  .rg-footer__main{padding:40px 20px 32px}
  .rg-footer__grid{gap:32px}
  .rg-footer__title{font-size:16px}
  .rg-footer__bottom-inner{
    flex-direction:column;
    text-align:center;
    gap:8px;
  }
}

/* ============================================================
 * HEADER PUBLIC — FINAL
 * ============================================================ */
.rg-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid #EFE4D2;
}
.rg-header__nav{
  max-width:1280px;
  margin:0 auto;
  padding:0 20px;
  height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

/* BRAND + LOGO */
.rg-header__brand{
  display:flex;
  align-items:center;
  text-decoration:none;
  flex-shrink:0;
  padding:4px 0;
}
.rg-header__logo{
  height:72px;
  width:auto;
  max-width:200px;
  object-fit:contain;
  display:block;
  transition:transform .25s;
}
.rg-header__brand:hover .rg-header__logo{
  transform:scale(1.03);
}
.rg-header__logo-fallback{
  display:inline-flex;align-items:center;justify-content:center;
  width:64px;height:64px;border-radius:14px;
  background:linear-gradient(135deg,#C9A56A,#E4C994);
  color:#3A241A;font-family:"Cormorant Garamond",serif;
  font-weight:700;font-size:28px;
}

/* MENU */
.rg-header__menu{
  display:none;
  list-style:none;padding:0;margin:0;
  align-items:center;gap:26px;
  font-size:14px;font-weight:500;
}
@media (min-width:1024px){
  .rg-header__menu{display:flex}
}
.rg-header__menu a{
  color:#3A241A;text-decoration:none;
  transition:color .2s;
  padding:8px 0;
  position:relative;
}
.rg-header__menu a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;
  height:2px;background:#C9A56A;
  transform:scaleX(0);transform-origin:left;
  transition:transform .25s;
}
.rg-header__menu a:hover{color:#C9A56A}
.rg-header__menu a:hover::after{transform:scaleX(1)}

/* ACTIONS */
.rg-header__actions{
  display:flex;align-items:center;gap:12px;flex-shrink:0;
}
.rg-header__link{
  font-size:14px;font-weight:600;color:#3A241A;
  text-decoration:none;transition:color .2s;
  padding:6px 4px;
}
.rg-header__link:hover{color:#C9A56A}
.rg-header__link--muted{color:#8B786A;font-weight:500}
.rg-header__link--muted:hover{color:#3A241A}

.rg-header__cta{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 20px;border-radius:10px;
  background:#3A241A;color:#fff;font-weight:700;
  font-size:13.5px;text-decoration:none;
  transition:background .2s;
}
.rg-header__cta:hover{background:#2A1A13}

.rg-header__burger{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:10px;
  background:#F8F3EA;border:0;cursor:pointer;
  color:#3A241A;
}
.rg-header__burger:hover{background:#EFE4D2}
.rg-header__burger svg{width:22px;height:22px}
@media (min-width:1024px){
  .rg-header__burger{display:none}
}

/* Mobile menu dropdown */
.rg-header__mobile{
  position:absolute;
  top:100%;left:0;right:0;
  background:#fff;
  border-bottom:1px solid #EFE4D2;
  box-shadow:0 20px 40px rgba(58,36,26,.1);
  max-height:calc(100vh - 88px);
  overflow-y:auto;
}
.rg-header__mobile-inner{
  padding:16px 20px 24px;
  display:flex;flex-direction:column;gap:4px;
}
.rg-header__mobile-inner a{
  padding:13px 16px;border-radius:10px;
  font-size:14.5px;font-weight:500;
  color:#3A241A;text-decoration:none;
  transition:background .2s;
}
.rg-header__mobile-inner a:hover{background:#F8F3EA}
.rg-header__mobile-inner a.primary{
  background:#3A241A;color:#fff;text-align:center;
  font-weight:700;
}
.rg-header__mobile-inner a.primary:hover{background:#2A1A13}
.rg-header__mobile-divider{
  height:1px;background:#EFE4D2;margin:8px 0;
}

/* Responsive */
@media (max-width:1023px){
  .rg-header__nav{height:80px;padding:0 16px}
  .rg-header__logo{height:60px;max-width:170px}
}
@media (max-width:640px){
  .rg-header__nav{height:72px}
  .rg-header__logo{height:52px;max-width:150px}
  .rg-header__link{display:none}
}
@media (max-width:420px){
  .rg-header__nav{height:66px}
  .rg-header__logo{height:44px;max-width:130px}
  .rg-header__cta{padding:8px 14px;font-size:12.5px}
}

/* ============================================================
 * SIDEBAR MEMBER & ADMIN — FINAL LAYOUT
 * ============================================================ */
.rg-sidebar__brand,
.rg-admin-drawer__head{
  padding-bottom:20px;
  margin-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.rg-sidebar__logo,
.rg-admin-drawer__logo{
  height:64px;
  width:auto;
  max-width:200px;
  object-fit:contain;
  display:block;
}
@media (min-width:1024px){
  .rg-sidebar__logo,
  .rg-admin-drawer__logo{
    height:72px;
    max-width:220px;
  }
}

.rg-admin-drawer__close{
  width:32px;height:32px;border-radius:8px;
  background:rgba(255,255,255,.06);
  border:0;cursor:pointer;color:rgba(255,255,255,.7);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.rg-admin-drawer__close:hover{background:rgba(255,255,255,.12)}
.rg-admin-drawer__close svg{width:16px;height:16px}

/* Mobile header member */
.rg-mobile-header{
  position:sticky;top:0;z-index:45;
  background:#fff;border-bottom:1px solid #EFE4D2;
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 16px;height:76px;
}
@media (min-width:1024px){
  .rg-mobile-header{display:none}
}
.rg-mobile-header__brand{
  display:flex;align-items:center;text-decoration:none;
}
.rg-mobile-header__logo{
  height:56px;width:auto;max-width:170px;
  object-fit:contain;display:block;
}
.rg-mobile-header__actions{
  display:flex;gap:8px;align-items:center;
}
.rg-mobile-header__actions a{
  width:40px;height:40px;border-radius:10px;
  background:#F8F3EA;color:#3A241A;
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;transition:background .2s;
}
.rg-mobile-header__actions a:hover{background:#EFE4D2}
.rg-mobile-header__actions svg{width:20px;height:20px}

/* Admin topbar */
.rg-admin-topbar{
  position:sticky;top:0;z-index:45;
  background:#3A241A;color:#fff;
  height:64px;display:flex;align-items:center;justify-content:space-between;
  padding:0 16px;
}
@media (min-width:1024px){
  .rg-admin-topbar{display:none}
}
.rg-admin-topbar__burger{
  background:none;border:0;color:#fff;padding:8px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.rg-admin-topbar__burger svg{width:24px;height:24px}
.rg-admin-topbar__brand{
  display:flex;align-items:center;text-decoration:none;
}
.rg-admin-topbar__logo{
  height:44px;width:auto;max-width:140px;
  object-fit:contain;display:block;
}
.rg-admin-topbar__logout{
  font-size:12.5px;color:rgba(255,255,255,.75);
  text-decoration:none;
}

/* Nav & user dalam sidebar */
.rg-sidebar__nav{
  display:flex;flex-direction:column;gap:2px;
  font-size:14px;
}
.rg-sidebar__link{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:9px;
  color:rgba(255,255,255,.85);text-decoration:none;
  transition:background .2s,color .2s;
}
.rg-sidebar__link svg{width:16px;height:16px;flex-shrink:0}
.rg-sidebar__link:hover{background:rgba(255,255,255,.06)}
.rg-sidebar__link.active{
  background:rgba(201,165,106,.15);
  color:#C9A56A;font-weight:600;
}

.rg-sidebar__user{
  margin-top:auto;padding:20px 12px 0;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;align-items:center;gap:10px;
}
.rg-sidebar__avatar{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,#C9A56A,#E4C994);
  color:#3A241A;font-family:"Cormorant Garamond",serif;
  font-weight:700;font-size:16px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.rg-sidebar__user-info{
  flex:1;min-width:0;display:flex;flex-direction:column;
  line-height:1.3;
}
.rg-sidebar__user-info strong{
  font-size:13.5px;color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.rg-sidebar__user-info span,
.rg-sidebar__user-info a{
  font-size:11.5px;color:rgba(255,255,255,.6);
  text-decoration:none;
}
.rg-sidebar__user-info a:hover{color:#C9A56A}

.rg-sidebar__logout{
  display:block;text-align:center;
  font-size:12px;padding:10px;border-radius:9px;
  border:1px solid rgba(255,255,255,.15);
  color:#fff;text-decoration:none;margin-top:12px;
  transition:background .2s;
}
.rg-sidebar__logout:hover{background:rgba(255,255,255,.06)}

/* =====================================================
   FIX: Posisi logo di login & register — center rapi
   ===================================================== */

/* Logo di panel brand (kiri, background coklat) */
.auth-brand-logo {
  display: block;
  height: 56px;              /* sesuaikan */
  width: auto;
  max-width: 180px;
  object-fit: contain;
  margin: 0 auto 12px;       /* center horizontal + jarak bawah */
}

/* Logo di panel form (kanan) */
.auth-form-logo {
  display: block;
  height: 48px;              /* sesuaikan */
  width: auto;
  max-width: 160px;
  object-fit: contain;
  margin: 0 auto 20px;       /* center horizontal + jarak bawah */
}

/* Pastikan parent brand header ikut center */
.auth-brand__header,
.auth-form__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Mobile: logo lebih kecil */
@media (max-width: 640px) {
  .auth-brand-logo { height: 44px; max-width: 140px; }
  .auth-form-logo  { height: 40px; max-width: 130px; }
}

/* =====================================================
   FIX: Posisi & ukuran logo — semua halaman publik
   - Navbar header publik
   - Footer publik
   - Panel brand login/register
   - Panel form login/register
   ===================================================== */

/* ---------- NAVBAR HEADER PUBLIK ---------- */
.rg-header__logo,
.rg-header__logo-fallback {
  display: inline-flex;
  align-items: center;
  height: 40px;                    /* sesuaikan tinggi navbar */
  width: auto;
  max-width: 160px;
  object-fit: contain;
  vertical-align: middle;
  margin: 0;
  /* Fallback wordmark */
  font-family: var(--font-heading, serif);
  font-size: 20px;
  letter-spacing: 2px;
  color: var(--rg-brown, #3A241A);
  line-height: 1;
}

/* Container brand di navbar (biar logo & teks rapi sejajar) */
.rg-header__brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
}

/* ---------- FOOTER PUBLIK ---------- */
.rg-footer-logo,
.rg-footer__logo {
  display: block;
  height: 44px;
  width: auto;
  max-width: 180px;
  object-fit: contain;
  margin: 0 0 12px 0;              /* rata kiri di footer */
}

/* Kalau footer brand ingin di-center di mobile */
@media (max-width: 768px) {
  .rg-footer-logo,
  .rg-footer__logo {
    margin-left: auto;
    margin-right: auto;
  }
  .rg-footer__col--brand {
    text-align: center;
  }
}

/* ---------- LOGIN / REGISTER ---------- */

/* Logo di panel brand (kiri, background coklat) */
.auth-brand-logo {
  display: block;
  height: 56px;
  width: auto;
  max-width: 180px;
  object-fit: contain;
  margin: 0 auto 12px;
}

/* Logo di panel form (kanan) */
.auth-form-logo {
  display: block;
  height: 48px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
  margin: 0 auto 20px;
}

/* Parent brand header — center kolom */
.auth-brand__header,
.auth-form__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* ---------- RESPONSIVE (mobile) ---------- */
@media (max-width: 640px) {
  .rg-header__logo,
  .rg-header__logo-fallback {
    height: 32px;
    max-width: 130px;
  }
  .rg-footer-logo,
  .rg-footer__logo {
    height: 36px;
    max-width: 150px;
  }
  .auth-brand-logo { height: 44px; max-width: 140px; }
  .auth-form-logo  { height: 40px; max-width: 130px; }
}

/* LEFT VISUAL */
.rg-auth-visual {
  position: relative;
  padding: 56px 44px;
  background: linear-gradient(135deg, #3A241A 0%, #2a1810 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  color: #F8F3EA;
}
.rg-auth-visual::before {
  content: '';
  position: absolute;
  width: 340px; height: 340px;
  top: -120px; right: -120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,165,106,0.38) 0%, transparent 70%);
  animation: rgGlowPulse 6s ease-in-out infinite;
  pointer-events: none;
}
.rg-auth-visual::after {
  content: '';
  position: absolute;
  width: 280px; height: 280px;
  bottom: -100px; left: -100px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,165,106,0.22) 0%, transparent 70%);
  animation: rgGlowPulse 8s ease-in-out infinite reverse;
  pointer-events: none;
}

.rg-auth-visual__content { position: relative; z-index: 1; }

.rg-auth-visual__brand {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 32px;
  animation: rgFadeUp 0.7s 0.20s ease-out both;
}
.rg-auth-visual__logo {
  height: 52px; width: auto; max-width: 160px;
  object-fit: contain;
  filter: drop-shadow(0 0 14px rgba(201,165,106,0.55));
}
.rg-auth-visual__brand-text .name {
  font-family: var(--font-heading, serif);
  font-size: 22px; letter-spacing: 3px; color: #F8F3EA; line-height: 1;
}
.rg-auth-visual__brand-text .tag {
  font-size: 10px; letter-spacing: 4px; color: #C9A56A; margin-top: 6px;
}

.rg-auth-visual__title {
  font-family: var(--font-heading, serif);
  font-size: 34px; line-height: 1.15;
  margin: 0 0 12px;
  animation: rgFadeUp 0.7s 0.30s ease-out both;
}
.rg-auth-visual__title em {
  color: #C9A56A; font-style: normal;
  text-shadow: 0 0 20px rgba(201,165,106,0.45);
}
.rg-auth-visual__desc {
  color: rgba(248,243,234,0.68);
  font-size: 14.5px; line-height: 1.7;
  max-width: 340px;
  animation: rgFadeUp 0.7s 0.40s ease-out both;
}

.rg-auth-visual__decor {
  position: relative; z-index: 1;
  display: flex; justify-content: center; align-items: center;
  height: 190px; margin: 16px 0;
}
.rg-bulb {
  position: relative;
  width: 120px; height: 160px;
  animation: rgFloatY 4s ease-in-out infinite;
}
.rg-bulb__glow {
  position: absolute; inset: -40px;
  background: radial-gradient(circle, rgba(201,165,106,0.5) 0%, transparent 60%);
  filter: blur(22px);
  animation: rgGlowPulse 3s ease-in-out infinite;
}
.rg-bulb__core {
  position: relative;
  width: 82px; height: 100px;
  margin: 0 auto;
  background: linear-gradient(180deg, #F8F3EA 0%, #C9A56A 100%);
  border-radius: 50% 50% 40% 40% / 60% 60% 40% 40%;
  box-shadow:
    0 0 30px rgba(201,165,106,0.65),
    0 0 70px rgba(201,165,106,0.35),
    inset -8px -10px 20px rgba(58,36,26,0.30);
}
.rg-bulb__base {
  width: 40px; height: 20px;
  margin: 4px auto 0;
  background: linear-gradient(180deg, #C9A56A 0%, #8B5A3C 100%);
  border-radius: 0 0 6px 6px;
}

.rg-auth-visual__footer {
  position: relative; z-index: 1;
  font-size: 12px;
  color: rgba(248,243,234,0.5);
  animation: rgFadeUp 0.7s 0.50s ease-out both;
}

/* RIGHT FORM */
.rg-auth-form {
  padding: 56px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #F8F3EA;
  background: rgba(20, 12, 8, 0.55);
}
.rg-auth-header {
  margin-bottom: 30px;
  animation: rgFadeUp 0.6s 0.35s ease-out both;
}
.rg-auth-header h1 {
  font-family: var(--font-heading, serif);
  font-size: 32px; margin: 0 0 8px; color: #F8F3EA;
}
.rg-auth-header p {
  color: rgba(248,243,234,0.60);
  font-size: 14px; margin: 0;
}

.rg-group {
  margin-bottom: 20px;
  animation: rgFadeUp 0.6s ease-out both;
}
.rg-group:nth-child(1) { animation-delay: 0.45s; }
.rg-group:nth-child(2) { animation-delay: 0.52s; }
.rg-group:nth-child(3) { animation-delay: 0.59s; }
.rg-group:nth-child(4) { animation-delay: 0.66s; }

.rg-group label {
  display: block;
  font-size: 11px;
  letter-spacing: 2.5px;
  color: #C9A56A;
  margin-bottom: 8px;
  font-weight: 600;
  text-transform: uppercase;
}

.rg-auth-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  background: rgba(20, 12, 8, 0.60);
  border: 1px solid rgba(201,165,106,0.18);
  border-radius: 12px;
  transition: all 0.25s ease;
}
.rg-auth-input-wrap:focus-within {
  border-color: #C9A56A;
  background: rgba(20, 12, 8, 0.85);
  box-shadow:
    0 0 0 1px rgba(201,165,106,0.4),
    0 0 22px rgba(201,165,106,0.28),
    0 0 44px rgba(201,165,106,0.12);
  transform: translateY(-1px);
}
.rg-auth-input-wrap .rg-icon {
  padding: 0 14px;
  color: rgba(201,165,106,0.65);
  display: flex;
  align-items: center;
  transition: color 0.25s ease, filter 0.25s ease;
}
.rg-auth-input-wrap:focus-within .rg-icon {
  color: #C9A56A;
  filter: drop-shadow(0 0 6px rgba(201,165,106,0.7));
}
.rg-auth-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  padding: 15px 0;
  color: #F8F3EA;
  font-size: 14.5px;
  font-family: inherit;
  width: 100%;
}
.rg-auth-input::placeholder { color: rgba(248,243,234,0.32); }
.rg-auth-input:-webkit-autofill {
  -webkit-text-fill-color: #F8F3EA;
  transition: background-color 9999s ease-in-out 0s;
}

.rg-pw-toggle {
  background: transparent;
  border: none;
  padding: 0 14px;
  color: rgba(201,165,106,0.6);
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: color 0.2s;
}
.rg-pw-toggle:hover { color: #C9A56A; }

.rg-auth-btn {
  width: 100%;
  padding: 16px;
  border: none;
  border-radius: 12px;
  background: linear-gradient(135deg, #C9A56A 0%, #B8935A 50%, #8B5A3C 100%);
  color: #1a0f0a;
  font-family: inherit;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: transform 0.2s ease, box-shadow 0.25s ease;
  box-shadow:
    0 8px 24px rgba(201,165,106,0.25),
    inset 0 1px 0 rgba(255,255,255,0.20);
  animation: rgFadeUp 0.6s 0.75s ease-out both;
}
.rg-auth-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow:
    0 12px 34px rgba(201,165,106,0.42),
    0 0 60px rgba(201,165,106,0.22),
    inset 0 1px 0 rgba(255,255,255,0.30);
}
.rg-auth-btn:active { transform: translateY(0); }
.rg-auth-btn:disabled { opacity: 0.75; cursor: not-allowed; }

.rg-auth-btn .rg-spinner {
  width: 16px; height: 16px;
  border: 2px solid rgba(26,15,10,0.30);
  border-top-color: #1a0f0a;
  border-radius: 50%;
  animation: rgSpin 0.7s linear infinite;
  display: none;
}
.rg-auth-btn.loading .rg-spinner { display: block; }
.rg-auth-btn.loading .rg-label { display: none; }

.rg-auth-switch {
  text-align: center;
  margin-top: 22px;
  font-size: 13.5px;
  color: rgba(248,243,234,0.55);
  animation: rgFadeUp 0.6s 0.85s ease-out both;
}
.rg-auth-switch a {
  color: #C9A56A;
  text-decoration: none;
  font-weight: 600;
  margin-left: 6px;
  transition: text-shadow 0.2s;
}
.rg-auth-switch a:hover { text-shadow: 0 0 12px rgba(201,165,106,0.85); }

/* Validation error */
.rg-group.has-error .rg-auth-input-wrap {
  border-color: #d97757;
  animation: rgShake 0.4s ease;
}
.rg-error-text {
  color: #ff9b7a;
  font-size: 12px;
  margin-top: 6px;
  display: block;
}

/* Responsive */
@media (max-width: 900px) {
  .rg-auth-card {
    grid-template-columns: 1fr;
    min-height: auto;
    max-width: 500px;
  }
  .rg-auth-visual { padding: 40px 32px; min-height: 190px; }
  .rg-auth-visual__decor { display: none; }
  .rg-auth-visual__desc { display: none; }
  .rg-auth-form { padding: 40px 28px; }
  .rg-auth-header h1 { font-size: 26px; }
  .rg-auth-visual__title { font-size: 24px; }
}
@media (max-width: 480px) {
  
/* Saat halaman auth, sembunyikan navbar publik */
body.rg-auth-body .rg-header { display: none !important; }

/* =====================================================
   AUTH — Login & Register ResikGlow
   Layout mengikuti screenshot: lamp + robot + form split
   Warna: gold/brown (bukan green/cyan)
   ===================================================== */

.rg-auth-bg {
  min-height: 100vh;
  background: #0d0705;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  position: relative;
  overflow: hidden;
}

.rg-auth-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 15% 20%, rgba(201,165,106,0.10) 0%, transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(139,90,60,0.12) 0%, transparent 45%);
  pointer-events: none;
}

.rg-auth-card {
  position: relative;
  display: grid;
  grid-template-columns: 360px 1fr;
  width: 100%;
  max-width: 980px;
  min-height: 580px;
  background: rgba(13, 7, 5, 0.92);
  border: 1px solid rgba(201,165,106,0.14);
  border-radius: 24px;
  overflow: hidden;
  box-shadow:
    0 30px 80px rgba(0,0,0,0.75),
    0 0 100px rgba(201,165,106,0.08);
  animation: rgAuthFadeIn 1s cubic-bezier(0.16,1,0.3,1) both;
  z-index: 1;
}

@keyframes rgAuthFadeIn {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============== PANEL KIRI — VISUAL ============== */
.rg-auth-visual {
  position: relative;
  background:
    radial-gradient(ellipse at top, #1f1208 0%, #0d0705 60%),
    linear-gradient(180deg, #1a0f08 0%, #0a0605 100%);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 0;
}

/* Lampu gantung */
.rg-lamp-wire {
  width: 1px;
  height: 44px;
  background: linear-gradient(180deg, transparent 0%, #3a2a1c 40%, #8B5A3C 100%);
  margin: 0 auto;
}

.rg-lamp-shade {
  width: 0;
  height: 0;
  border-left: 38px solid transparent;
  border-right: 38px solid transparent;
  border-top: 42px solid #2a1a10;
  position: relative;
  margin: 0 auto;
  filter: drop-shadow(0 0 20px rgba(201,165,106,0.35));
}

.rg-lamp-bulb {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #F8F3EA;
  margin: -6px auto 0;
  box-shadow:
    0 0 12px #C9A56A,
    0 0 30px #C9A56A,
    0 0 60px rgba(201,165,106,0.8),
    0 0 100px rgba(201,165,106,0.5);
  animation: rgLampGlow 3.5s ease-in-out infinite;
  position: relative;
  z-index: 2;
}

@keyframes rgLampGlow {
  0%, 100% {
    box-shadow:
      0 0 12px #C9A56A,
      0 0 30px #C9A56A,
      0 0 60px rgba(201,165,106,0.7),
      0 0 100px rgba(201,165,106,0.4);
    opacity: 0.85;
  }
  50% {
    box-shadow:
      0 0 20px #E4C994,
      0 0 50px #C9A56A,
      0 0 100px rgba(201,165,106,0.9),
      0 0 150px rgba(201,165,106,0.6);
    opacity: 1;
  }
}

/* Light cone */
.rg-light-cone {
  position: absolute;
  top: 85px;
  left: 50%;
  transform: translateX(-50%);
  width: 260px;
  height: 340px;
  background: linear-gradient(180deg,
    rgba(201,165,106,0.35) 0%,
    rgba(201,165,106,0.15) 35%,
    rgba(201,165,106,0.05) 70%,
    transparent 100%);
  clip-path: polygon(38% 0%, 62% 0%, 100% 100%, 0% 100%);
  filter: blur(12px);
  animation: rgConeGlow 3.5s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

@keyframes rgConeGlow {
  0%, 100% { opacity: 0.7; }
  50%      { opacity: 1; }
}

/* Robot mascot */
.rg-robot {
  position: relative;
  margin-top: 130px;
  width: 110px;
  height: 130px;
  z-index: 1;
  animation: rgRobotGlow 3.5s ease-in-out infinite reverse;
}

@keyframes rgRobotGlow {
  0%, 100% { filter: drop-shadow(0 0 15px rgba(201,165,106,0.35)); }
  50%      { filter: drop-shadow(0 0 35px rgba(201,165,106,0.7)); }
}

.rg-robot__head {
  width: 110px;
  height: 100px;
  background: linear-gradient(180deg, #2a1a10 0%, #1a0f08 100%);
  border: 2px solid rgba(201,165,106,0.35);
  border-radius: 55px 55px 45px 45px;
  position: relative;
  box-shadow:
    inset 0 -10px 20px rgba(201,165,106,0.1),
    0 0 30px rgba(201,165,106,0.25);
}

.rg-robot__face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 8px;
}

.rg-robot__eyes {
  display: flex;
  gap: 22px;
  margin-bottom: 12px;
}

.rg-robot__eye {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #C9A56A;
  box-shadow:
    0 0 8px #C9A56A,
    0 0 20px rgba(201,165,106,0.8),
    0 0 40px rgba(201,165,106,0.5);
  animation: rgEyeBlink 4s ease-in-out infinite;
}

.rg-robot__eye:nth-child(2) { animation-delay: 0.05s; }

@keyframes rgEyeBlink {
  0%, 92%, 100% { transform: scaleY(1); }
  95%           { transform: scaleY(0.1); }
}

.rg-robot__mouth {
  width: 28px;
  height: 10px;
  border: 2px solid #C9A56A;
  border-top: none;
  border-radius: 0 0 20px 20px;
  box-shadow: 0 0 10px rgba(201,165,106,0.6);
}

.rg-robot__body {
  width: 70px;
  height: 26px;
  margin: -6px auto 0;
  background: linear-gradient(180deg, #1a0f08 0%, #0a0605 100%);
  border: 2px solid rgba(201,165,106,0.3);
  border-radius: 8px 8px 20px 20px;
  position: relative;
}

.rg-robot__antenna {
  position: absolute;
  width: 2px;
  height: 14px;
  background: linear-gradient(180deg, #C9A56A 0%, transparent 100%);
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
}

.rg-robot__antenna::after {
  content: '';
  position: absolute;
  top: -4px;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #C9A56A;
  box-shadow: 0 0 12px #C9A56A, 0 0 24px rgba(201,165,106,0.7);
}

/* Ground glow */
.rg-auth-visual::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 300px;
  height: 60px;
  background: radial-gradient(ellipse at center, rgba(201,165,106,0.35) 0%, transparent 70%);
  filter: blur(20px);
  pointer-events: none;
}

/* ============== PANEL KANAN — FORM ============== */
.rg-auth-form {
  padding: 52px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #F8F3EA;
}

.rg-auth-form h1 {
  font-family: var(--font-heading, 'Inter'), serif;
  font-size: 34px;
  font-weight: 700;
  margin: 0 0 8px;
  color: #fff;
  letter-spacing: -0.5px;
  animation: rgItemFade 0.7s 0.25s cubic-bezier(0.16,1,0.3,1) both;
}

.rg-auth-form__sub {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  color: rgba(248,243,234,0.42);
  margin: 0 0 36px;
  animation: rgItemFade 0.7s 0.35s cubic-bezier(0.16,1,0.3,1) both;
}

@keyframes rgItemFade {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

.rg-field {
  margin-bottom: 18px;
}
.rg-field:nth-of-type(1) { animation: rgItemFade 0.7s 0.45s cubic-bezier(0.16,1,0.3,1) both; }
.rg-field:nth-of-type(2) { animation: rgItemFade 0.7s 0.55s cubic-bezier(0.16,1,0.3,1) both; }
.rg-field:nth-of-type(3) { animation: rgItemFade 0.7s 0.65s cubic-bezier(0.16,1,0.3,1) both; }
.rg-field:nth-of-type(4) { animation: rgItemFade 0.7s 0.75s cubic-bezier(0.16,1,0.3,1) both; }

.rg-field label {
  display: block;
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: rgba(201,165,106,0.85);
  margin-bottom: 8px;
  font-weight: 600;
}

.rg-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  background: #1a0f08;
  border: 1.5px solid rgba(201,165,106,0.15);
  border-radius: 10px;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.rg-input-wrap:focus-within {
  border-color: #C9A56A;
  background: #1f1208;
  box-shadow:
    0 0 0 3px rgba(201,165,106,0.10),
    0 0 24px rgba(201,165,106,0.20);
}

.rg-input-wrap .rg-ic {
  padding: 0 12px;
  color: rgba(201,165,106,0.55);
  display: flex;
  align-items: center;
  transition: color 0.25s ease;
  flex-shrink: 0;
}
.rg-input-wrap:focus-within .rg-ic { color: #C9A56A; }

.rg-input-wrap input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  padding: 14px 0;
  color: #F8F3EA;
  font-size: 14px;
  font-family: inherit;
  width: 100%;
}
.rg-input-wrap input::placeholder { color: rgba(248,243,234,0.28); }
.rg-input-wrap input:-webkit-autofill {
  -webkit-text-fill-color: #F8F3EA;
  transition: background-color 9999s ease-in-out 0s;
}

.rg-pw-btn {
  background: transparent;
  border: none;
  padding: 0 14px;
  color: rgba(201,165,106,0.55);
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: color 0.2s;
}
.rg-pw-btn:hover { color: #C9A56A; }

.rg-btn {
  width: 100%;
  padding: 16px;
  margin-top: 8px;
  border: none;
  border-radius: 10px;
  background: linear-gradient(45deg, #C9A56A 0%, #E4C994 50%, #C9A56A 100%);
  background-size: 200% 100%;
  color: #0d0705;
  font-family: inherit;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: transform 0.2s ease, box-shadow 0.25s ease, background-position 0.4s ease;
  box-shadow: 0 6px 20px rgba(201,165,106,0.25);
  animation: rgItemFade 0.7s 0.85s cubic-bezier(0.16,1,0.3,1) both;
  position: relative;
}

.rg-btn:hover:not(:disabled) {
  transform: scale(1.02);
  background-position: 100% 0;
  box-shadow:
    0 0 24px rgba(201,165,106,0.7),
    0 0 48px rgba(201,165,106,0.4);
}
.rg-btn:active:not(:disabled) { transform: scale(1); }
.rg-btn:disabled { opacity: 0.7; cursor: not-allowed; }

.rg-btn__spin {
  width: 14px; height: 14px;
  border: 2px solid rgba(13,7,5,0.35);
  border-top-color: #0d0705;
  border-radius: 50%;
  animation: rgSpin 0.7s linear infinite;
  display: none;
}
.rg-btn.loading .rg-btn__spin { display: block; }
.rg-btn.loading .rg-btn__lbl { display: none; }

@keyframes rgSpin { to { transform: rotate(360deg); } }

.rg-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 22px 0 18px;
  color: rgba(248,243,234,0.3);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  animation: rgItemFade 0.7s 0.95s cubic-bezier(0.16,1,0.3,1) both;
}
.rg-divider::before,
.rg-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,165,106,0.2), transparent);
}

.rg-socials {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  animation: rgItemFade 0.7s 1.05s cubic-bezier(0.16,1,0.3,1) both;
}

.rg-socials a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px;
  background: rgba(26,15,8,0.6);
  border: 1.5px solid rgba(201,165,106,0.18);
  border-radius: 10px;
  color: #F8F3EA;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 500;
  transition: all 0.2s ease;
}
.rg-socials a:hover {
  border-color: rgba(201,165,106,0.5);
  background: rgba(26,15,8,0.9);
  box-shadow: 0 0 18px rgba(201,165,106,0.25);
}

.rg-switch {
  text-align: center;
  margin-top: 22px;
  font-size: 13px;
  color: rgba(248,243,234,0.5);
  animation: rgItemFade 0.7s 1.15s cubic-bezier(0.16,1,0.3,1) both;
}
.rg-switch a {
  color: #C9A56A;
  font-weight: 600;
  text-decoration: none;
  margin-left: 5px;
  transition: text-shadow 0.2s;
}
.rg-switch a:hover { text-shadow: 0 0 12px rgba(201,165,106,0.9); }

/* ============== RESPONSIVE ============== */
@media (max-width: 860px) {
  .rg-auth-card {
    grid-template-columns: 1fr;
    max-width: 480px;
    min-height: auto;
  }
  .rg-auth-visual {
    min-height: 220px;
    padding: 24px 0 16px;
  }
  .rg-robot { margin-top: 60px; transform: scale(0.8); }
  .rg-light-cone { height: 200px; top: 70px; }
  .rg-auth-form { padding: 32px 28px 40px; }
  .rg-auth-form h1 { font-size: 26px; }
}

@media (max-width: 480px) {
  .rg-auth-bg { padding: 12px; }
  .rg-auth-card { border-radius: 18px; }
  .rg-auth-form { padding: 28px 22px 32px; }
  .rg-auth-visual { min-height: 180px; }
  .rg-robot { transform: scale(0.65); margin-top: 40px; }
}

/* Footer social icons — SVG */
.rg-footer__socials {
  display: flex;
  gap: 10px;
  margin-top: 18px;
  flex-wrap: wrap;
}
.rg-footer__social {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(201,165,106,0.08);
  border: 1px solid rgba(201,165,106,0.25);
  color: #C9A56A;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  padding: 0 !important;
}
.rg-footer__social::before { display: none !important; }
.rg-footer__social svg {
  width: 18px;
  height: 18px;
  display: block;
  transition: transform 0.3s ease;
}
.rg-footer__social:hover {
  background: linear-gradient(135deg, #C9A56A, #8B5A3C);
  border-color: #C9A56A;
  color: #0d0705;
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(201,165,106,0.35);
  padding: 0 !important;
}
.rg-footer__social:hover svg {
  transform: scale(1.1);
}
@media (max-width: 600px) {
  .rg-footer__socials { justify-content: center; }
}
