:root {
  --navy:#0D2137; --navy-mid:#122840; --navy-light:#1a3a56;
  --gold:#B8860B; --gold-light:#D4A017; --gold-bright:#E8C547;
  --pink:#E91E8C; --pink-light:#F06BB0; --pink-pale:#FDE8F4;
  --white:#FFFFFF; --off-white:#F8F9FA; --gray-100:#F1F3F5;
  --gray-200:#E9ECEF; --gray-400:#9CA3AF; --gray-600:#6B7280;
  --success:#10B981; --danger:#EF4444; --warning:#F59E0B;
  --font-main:'Cormorant Garamond','Georgia',serif;
  --font-body:'Inter','Segoe UI',sans-serif;
  --radius-sm:6px; --radius-md:12px; --radius-lg:18px; --radius-xl:24px;
  --shadow-sm:0 1px 3px rgba(0,0,0,0.12);
  --shadow-md:0 4px 16px rgba(13,33,55,0.15);
  --shadow-lg:0 8px 32px rgba(13,33,55,0.2);
  --shadow-gold:0 4px 20px rgba(184,134,11,0.25);
  --shadow-pink:0 4px 20px rgba(233,30,140,0.25);
  --transition:all 0.25s cubic-bezier(0.4,0,0.2,1);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);color:var(--navy);background:var(--white);line-height:1.6;}
h1,h2,h3,h4{font-family:var(--font-main);font-weight:700;line-height:1.2;}
h1{font-size:clamp(2rem,5vw,3.5rem);}
h2{font-size:clamp(1.5rem,3vw,2.5rem);}
h3{font-size:clamp(1.2rem,2vw,1.75rem);}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;border:none;transition:var(--transition);text-decoration:none;font-family:var(--font-body);}
.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-bright));color:var(--navy);box-shadow:var(--shadow-gold);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(184,134,11,0.4);}
.btn-pink{background:linear-gradient(135deg,var(--pink),var(--pink-light));color:var(--white);box-shadow:var(--shadow-pink);}
.btn-pink:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(233,30,140,0.4);}
.btn-outline{background:transparent;border:2px solid var(--gold);color:var(--gold);}
.btn-outline:hover{background:var(--gold);color:var(--navy);}
.btn-outline-white{background:transparent;border:2px solid rgba(255,255,255,0.6);color:var(--white);}
.btn-outline-white:hover{background:rgba(255,255,255,0.1);}
.btn-sm{padding:8px 18px;font-size:13px;}
.btn-lg{padding:16px 40px;font-size:17px;border-radius:var(--radius-lg);}
.btn-block{width:100%;justify-content:center;}
.btn:disabled{opacity:0.6;cursor:not-allowed;transform:none!important;}
.card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);}
.card-dark{background:var(--navy-mid);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-lg);}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-label{font-size:12px;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:0.5px;}
.form-input{padding:13px 16px;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-size:15px;font-family:var(--font-body);color:var(--navy);background:var(--white);transition:var(--transition);outline:none;width:100%;}
.form-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,134,11,0.12);}
.form-input.dark{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.15);color:var(--white);}
.form-input.dark::placeholder{color:rgba(255,255,255,0.4);}
.form-input.dark:focus{border-color:var(--gold);}
.alert{padding:14px 18px;border-radius:var(--radius-md);font-size:14px;margin-bottom:16px;display:none;}
.alert.show{display:block;}
.alert-error{background:#FEE2E2;border:1px solid #FECACA;color:#991B1B;}
.alert-success{background:#D1FAE5;border:1px solid #A7F3D0;color:#065F46;}
.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;}
.badge-active{background:#D1FAE5;color:#065F46;}
.badge-pending,.badge-pending_payment{background:#FEF3C7;color:#92400E;}
.badge-matured{background:var(--pink-pale);color:var(--pink);}
.badge-withdrawn,.badge-cancelled{background:var(--gray-100);color:var(--gray-600);}
.badge-paid{background:#D1FAE5;color:#065F46;}
.badge-rejected{background:#FEE2E2;color:#991B1B;}
.text-gold{color:var(--gold);}
.text-pink{color:var(--pink);}
.text-white{color:var(--white)!important;}
.text-gray{color:var(--gray-600);}
.text-center{text-align:center;}
.section{padding:80px 0;}
.container{max-width:1160px;margin:0 auto;padding:0 24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}
@media(max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr);}}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--gold-light),transparent);margin:48px 0;}
.spinner{width:36px;height:36px;border:3px solid var(--gray-200);border-top-color:var(--gold);border-radius:50%;animation:spin 0.8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.progress{background:var(--gray-200);border-radius:20px;height:8px;overflow:hidden;}
.progress-fill{height:100%;border-radius:20px;background:linear-gradient(90deg,var(--gold),var(--gold-bright));transition:width 1s ease;}
.stat-num{font-family:var(--font-main);font-size:2.2rem;font-weight:700;line-height:1;}
