/*==========================================================
FILE : auth/css/plans.css
VERSION : V3
STATUS : Production Ready
==========================================================*/
:root{
--primary:#18B64A;
--primary-dark:#13963D;
--primary-light:#ECFDF3;
--secondary:#22C55E;
--white:#FFFFFF;
--bg:#F5F8FB;
--border:#E7EDF4;
--text:#1E293B;
--text-light:#64748B;
--shadow:0 20px 45px rgba(15,23,42,.08);
--radius:24px;
}
body{
margin:0;
padding:0;
font-family:'Poppins',sans-serif;
background:var(--bg);
color:var(--text);
overflow-x:hidden;
}
.main{
margin-left:290px;
min-height:100vh;
transition:.35s;
}
.plans-v3{
padding:35px;
padding-bottom:60px; max-width:1200px; }

/*==========================================
PAGE HEADER
==========================================*/
.plans-page-header{
display:flex;
align-items:center;
justify-content:space-between;
gap:40px;
margin-bottom:30px;
}
.plans-badge{
display:inline-flex;
align-items:center;
gap:8px;
background:var(--primary-light);
color:var(--primary-dark);
font-size:13px;
font-weight:700;
padding:8px 16px;
border-radius:30px;
margin-bottom:14px;
}
.plans-page-header h1{
font-size:32px;
font-weight:800;
margin:0 0 8px;
}
.plans-page-header p{
font-size:15px;
color:var(--text-light);
max-width:520px;
line-height:1.6;
margin:0;
}
.plans-balance-card{
background:var(--white);
border:1px solid var(--border);
border-radius:20px;
box-shadow:var(--shadow);
padding:18px 26px;
text-align:right;
min-width:220px;
}
.plans-balance-card span{
font-size:13px;
color:var(--text-light);
font-weight:600;
}
.plans-balance-card h2{
font-size:26px;
font-weight:800;
margin:6px 0 0;
color:var(--primary-dark);
}

/*==========================================
PLANS GRID
==========================================*/
.plans-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
margin-bottom:50px;
}
.plan-card{
position:relative;
background:var(--white);
border:1px solid var(--border);
border-radius:var(--radius);
padding:30px;
box-shadow:var(--shadow);
cursor:pointer;
transition:.35s;
overflow:hidden;
opacity:0;
transform:translateY(18px);
animation:planFadeIn .6s forwards;
}
@keyframes planFadeIn{ to{ opacity:1; transform:translateY(0); } }
.plan-card::before{
content:"";
position:absolute;
top:0; left:0; right:0;
height:6px;
background:var(--tier-color,var(--primary));
}
.plan-card:hover{
transform:translateY(-8px);
box-shadow:0 30px 60px rgba(15,23,42,.14);
border-color:var(--tier-color,var(--primary));
}
.plan-card.locked-tier{ opacity:.75; }
.plan-card-top{
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:20px;
}
.plan-icon{
width:56px;
height:56px;
border-radius:16px;
display:flex;
align-items:center;
justify-content:center;
font-size:22px;
color:#fff;
background:var(--tier-color,var(--primary));
}
.plan-roi-tag{
background:var(--primary-light);
color:var(--primary-dark);
font-size:13px;
font-weight:700;
padding:6px 12px;
border-radius:20px;
}
.plan-card h3{
font-size:22px;
font-weight:800;
margin:0 0 4px;
}
.plan-card .plan-duration{
font-size:13px;
color:var(--text-light);
font-weight:600;
margin-bottom:18px;
}
.plan-range{
display:flex;
justify-content:space-between;
background:var(--bg);
border-radius:14px;
padding:14px 16px;
margin-bottom:18px;
}
.plan-range div{ text-align:left; }
.plan-range div:last-child{ text-align:right; }
.plan-range span{
display:block;
font-size:11px;
color:var(--text-light);
font-weight:700;
text-transform:uppercase;
letter-spacing:.4px;
margin-bottom:4px;
}
.plan-range strong{ font-size:16px; font-weight:800; }
.plan-stats{
display:flex;
justify-content:space-between;
margin-bottom:16px;
}
.plan-stats div{ text-align:left; }
.plan-stats span{
display:block;
font-size:12px;
color:var(--text-light);
margin-bottom:2px;
}
.plan-stats strong{ font-size:15px; font-weight:700; }
.plan-popularity{ margin-bottom:22px; }
.plan-popularity .pp-label{
display:flex;
justify-content:space-between;
font-size:12px;
color:var(--text-light);
margin-bottom:6px;
}
.progress-line{
height:8px;
background:var(--bg);
border-radius:10px;
overflow:hidden;
}
.progress-line div{
height:100%;
background:var(--tier-color,var(--primary));
border-radius:10px;
transition:width .6s;
}
.plan-buy-btn{
width:100%;
border:none;
background:var(--tier-color,var(--primary));
color:#fff;
padding:14px;
border-radius:14px;
font-size:15px;
font-weight:700;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
gap:8px;
transition:.3s;
}
.plan-buy-btn:hover{ filter:brightness(1.08); transform:translateY(-2px); }
.plan-card[data-tier="basic"]{ --tier-color:#64748B; }
.plan-card[data-tier="silver"]{ --tier-color:#0EA5E9; }
.plan-card[data-tier="gold"]{ --tier-color:#F59E0B; }
.plan-card[data-tier="platinum"]{ --tier-color:#6366F1; }
.plan-card[data-tier="diamond"]{ --tier-color:#0891B2; }
.plan-card[data-tier="vip"]{ --tier-color:#18B64A; }

/*==========================================
ACTIVE INVESTMENTS
==========================================*/
.section-header{
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:22px;
}
.section-header h2{ font-size:22px; font-weight:800; margin:0 0 4px; }
.section-header p{ font-size:13px; color:var(--text-light); margin:0; }
.investments-list{
display:flex;
flex-direction:column;
gap:18px;
margin-bottom:20px;
}
.investment-card{
background:var(--white);
border:1px solid var(--border);
border-radius:20px;
box-shadow:var(--shadow);
padding:24px 28px;
}
.investment-top{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
margin-bottom:16px;
flex-wrap:wrap;
}
.investment-plan-name{
display:flex;
align-items:center;
gap:12px;
}
.investment-plan-name .plan-icon{ width:44px; height:44px; font-size:17px; border-radius:12px; }
.investment-plan-name h4{ font-size:17px; font-weight:800; margin:0; }
.investment-plan-name span{ font-size:12px; color:var(--text-light); }
.investment-status{
font-size:12px;
font-weight:700;
padding:6px 14px;
border-radius:20px;
}
.investment-status.status-active{ background:#ECFDF3; color:#13963D; }
.investment-status.status-completed{ background:#EFF6FF; color:#2563EB; }
.investment-meta{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:16px;
margin-bottom:16px;
}
.investment-meta div{ text-align:left; }
.investment-meta span{
display:block;
font-size:11px;
color:var(--text-light);
text-transform:uppercase;
letter-spacing:.4px;
margin-bottom:4px;
font-weight:700;
}
.investment-meta strong{ font-size:16px; font-weight:800; }
.investment-progress-wrap{ margin-bottom:14px; }
.investment-progress-label{
display:flex;
justify-content:space-between;
font-size:12px;
color:var(--text-light);
margin-bottom:6px;
font-weight:600;
}
.investment-countdown{
display:flex;
gap:10px;
margin-bottom:16px;
}
.countdown-box{
background:var(--bg);
border-radius:12px;
padding:10px 14px;
text-align:center;
min-width:64px;
}
.countdown-box strong{ display:block; font-size:18px; font-weight:800; }
.countdown-box span{ font-size:10px; color:var(--text-light); text-transform:uppercase; }
.investment-actions{ display:flex; gap:12px; }
.investment-actions button{
flex:1;
border:none;
padding:12px;
border-radius:12px;
font-size:14px;
font-weight:700;
cursor:pointer;
}
.withdraw-disabled{
background:var(--bg);
color:#94A3B8;
cursor:not-allowed;
}
.reinvest-btn{
background:var(--primary-light);
color:var(--primary-dark);
}
.reinvest-btn:hover{ background:var(--primary); color:#fff; }
.empty-investments{
background:var(--white);
border:1px dashed var(--border);
border-radius:20px;
padding:50px 20px;
text-align:center;
color:var(--text-light);
}
.empty-investments i{ font-size:32px; color:var(--primary); margin-bottom:12px; display:block; }
.reset-demo-link{
display:inline-block;
margin-top:8px;
font-size:12px;
color:var(--text-light);
text-decoration:underline;
cursor:pointer;
background:none;
border:none;
}

/*==========================================
MODAL
==========================================*/
.plan-modal-overlay{
position:fixed;
inset:0;
background:rgba(15,23,42,.55);
display:none;
align-items:center;
justify-content:center;
z-index:1000;
padding:20px;
backdrop-filter:blur(4px);
}
.plan-modal-overlay.show{ display:flex; }
.plan-modal{
background:#fff;
border-radius:24px;
max-width:440px;
width:100%;
padding:32px;
box-shadow:0 40px 80px rgba(15,23,42,.25);
max-height:90vh;
overflow-y:auto;
position:relative;
animation:modalPop .3s;
}
@keyframes modalPop{ from{ opacity:0; transform:scale(.94); } to{ opacity:1; transform:scale(1); } }
.plan-modal-close{
position:absolute;
top:18px; right:18px;
width:34px; height:34px;
border-radius:50%;
border:none;
background:var(--bg);
cursor:pointer;
font-size:14px;
color:var(--text-light);
}
.plan-modal h3{ font-size:20px; font-weight:800; margin:0 0 4px; }
.plan-modal .modal-plan-sub{ font-size:13px; color:var(--text-light); margin-bottom:20px; }
.modal-info-row{
display:flex;
justify-content:space-between;
padding:10px 0;
border-bottom:1px solid var(--border);
font-size:14px;
}
.modal-info-row span{ color:var(--text-light); }
.modal-info-row strong{ font-weight:700; }
.modal-input-group{ margin:20px 0 8px; }
.modal-input-group label{
display:block;
font-size:13px;
font-weight:700;
margin-bottom:8px;
}
.modal-input-group input{
width:100%;
padding:14px 16px;
border:1.5px solid var(--border);
border-radius:14px;
font-size:16px;
font-family:'Poppins',sans-serif;
box-sizing:border-box;
}
.modal-input-group input:focus{ outline:none; border-color:var(--primary); }
.modal-available-balance{
font-size:12px;
color:var(--text-light);
margin-bottom:18px;
}
.modal-error{
background:#FEF2F2;
color:#DC2626;
font-size:13px;
padding:10px 14px;
border-radius:12px;
margin-bottom:14px;
display:none;
}
.modal-error.show{ display:block; }
.modal-estimate{
background:var(--primary-light);
border-radius:14px;
padding:14px 16px;
margin-bottom:20px;
font-size:13px;
color:var(--primary-dark);
}
.modal-estimate strong{ display:block; font-size:18px; margin-top:2px; }
.modal-confirm-btn{
width:100%;
border:none;
background:var(--primary);
color:#fff;
padding:15px;
border-radius:14px;
font-size:15px;
font-weight:700;
cursor:pointer;
}
.modal-confirm-btn:hover{ background:var(--primary-dark); }
.modal-success{
text-align:center;
padding:10px 0;
}
.modal-success i{
font-size:52px;
color:var(--primary);
margin-bottom:14px;
display:block;
}
.modal-success h3{ margin-bottom:8px; }
.modal-success p{ color:var(--text-light); font-size:14px; margin-bottom:20px; }
.toast{
position:fixed;
bottom:30px;
left:50%;
transform:translateX(-50%) translateY(20px);
background:#1E293B;
color:#fff;
padding:14px 26px;
border-radius:14px;
font-size:14px;
font-weight:600;
box-shadow:0 20px 40px rgba(0,0,0,.25);
z-index:1200;
opacity:0;
transition:.35s;
pointer-events:none;
}
.toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

/*==========================================
SKELETON LOADING
==========================================*/
.skeleton-card{
background:var(--white);
border-radius:var(--radius);
padding:30px;
border:1px solid var(--border);
}
.skeleton-line{
height:14px;
border-radius:8px;
background:linear-gradient(90deg,#EEF2F6 25%,#F8FAFC 37%,#EEF2F6 63%);
background-size:400% 100%;
animation:skeletonShine 1.4s ease infinite;
margin-bottom:12px;
}
@keyframes skeletonShine{ 0%{ background-position:100% 50%; } 100%{ background-position:0 50%; } }

/*==========================================
BOTTOM NAV / SUPPORT / BACK TO TOP
==========================================*/
.bottom-nav{
display:none;
position:fixed;
bottom:0; left:0; right:0;
background:#fff;
border-top:1px solid var(--border);
padding:10px 0 22px;
justify-content:space-around;
z-index:90;
box-shadow:0 -10px 30px rgba(15,23,42,.06);
}
.bottom-nav a{
display:flex;
flex-direction:column;
align-items:center;
gap:4px;
color:#94A3B8;
text-decoration:none;
font-size:11px;
font-weight:600;
}
.bottom-nav a i{ font-size:22px; }
.bottom-nav a.active{ color:var(--primary); }
.floating-support{
position:fixed;
bottom:30px;
right:30px;
width:58px;
height:58px;
border-radius:50%;
background:var(--primary);
color:#fff;
display:flex;
align-items:center;
justify-content:center;
font-size:22px;
box-shadow:0 20px 40px rgba(24,182,74,.35);
z-index:95;
text-decoration:none;
}
.back-top{
position:fixed;
bottom:100px;
right:30px;
width:46px;
height:46px;
border-radius:50%;
border:1px solid var(--border);
background:#fff;
color:var(--primary);
cursor:pointer;
opacity:0;
visibility:hidden;
transition:.3s;
z-index:95;
}
.back-top.show{ opacity:1; visibility:visible; }
.footer{
display:flex;
align-items:center;
justify-content:space-between;
padding:26px 6px;
border-top:1px solid var(--border);
margin-top:20px;
flex-wrap:wrap;
gap:14px;
}
.footer-left p{ font-size:13px; color:var(--text-light); margin:0; }
.footer-right{ display:flex; gap:18px; flex-wrap:wrap; }
.footer-right a{ font-size:13px; color:var(--text-light); text-decoration:none; }
.footer-right a:hover{ color:var(--primary); }

/*==========================================
RESPONSIVE
==========================================*/
@media(max-width:1200px){
.main{ margin-left:0; }
.plans-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:992px){
.investment-meta{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px){
.plans-v3{ padding:18px; padding-bottom:100px; }
.plans-page-header{ flex-direction:column; align-items:flex-start; gap:18px; }
.plans-balance-card{ width:100%; text-align:left; }
.plans-grid{ grid-template-columns:1fr; }
.bottom-nav{ display:flex; }
.floating-support{ bottom:95px; right:18px; }
.back-top{ bottom:170px; right:18px; }
.footer{ flex-direction:column; text-align:center; }
}
@media(max-width:576px){
.plans-v3{ padding:16px; }
.plans-page-header h1{ font-size:24px; }
.plan-card{ padding:22px; }
.investment-meta{ grid-template-columns:1fr 1fr; }
.investment-countdown{ flex-wrap:wrap; }
.countdown-box{ min-width:56px; padding:8px 10px; }
.investment-actions{ flex-direction:column; }
.plan-modal{ padding:24px; }
}
