/* =========================================================
   Aamr Vaatika — My Account (auth + dashboard preview)
   ========================================================= */

body{background:var(--cream-100);}

/* =============== Auth view =============== */
.auth-wrap{min-height:calc(100vh - 300px);display:flex;align-items:center;justify-content:center;padding:56px 20px 80px;}
.auth-wrap[hidden]{display:none;}
.auth-card{
  background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);
  width:100%;max-width:960px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;
}
.auth-side{
  background:linear-gradient(160deg,var(--olive-800),var(--olive-900));color:var(--white);
  padding:48px 42px;display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;
}
.auth-side::before{
  content:"";position:absolute;bottom:-30%;right:-20%;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,rgba(244,191,98,0.20),transparent 65%);pointer-events:none;
}
.auth-side > *{position:relative;}
.auth-side h2{color:var(--white);margin-bottom:12px;}
.auth-side p{color:rgba(255,255,255,.7);font-size:.94rem;}
.auth-side ul{margin-top:26px;}
.auth-side li{display:flex;gap:12px;margin-bottom:16px;font-size:.9rem;color:rgba(255,255,255,.85);}
.auth-side li svg{color:var(--mango-400);flex-shrink:0;margin-top:2px;}
.auth-side .fineprint{font-size:.8rem;opacity:.55;}
.auth-form{padding:48px 42px;}

.auth-tabs{display:flex;background:var(--cream-100);border-radius:var(--r-pill);padding:5px;margin-bottom:28px;}
.auth-tabs button{flex:1;padding:11px;border-radius:var(--r-pill);font-weight:700;font-size:.9rem;color:var(--text-soft);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);}
.auth-tabs button[aria-selected="true"]{background:var(--white);color:var(--olive-900);box-shadow:var(--shadow-sm);}

.auth-panel[hidden]{display:none;}

.or-sep{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-soft);font-size:.82rem;}
.or-sep::before,.or-sep::after{content:"";flex:1;height:1px;background:var(--cream-200);}

.demo-btn-wrap{background:var(--mango-50);border:1.5px dashed var(--mango-300);border-radius:var(--r-md);padding:18px;text-align:center;margin-top:6px;}
.demo-btn-wrap p{font-size:.82rem;color:var(--text-soft);margin-bottom:12px;}

/* Password field with an inline show/hide control. */
.pw-wrap{position:relative;}
.pw-wrap input{padding-right:52px;}
.pw-toggle{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:40px;height:36px;border-radius:var(--r-sm);color:var(--text-soft);
  display:flex;align-items:center;justify-content:center;
}
.pw-toggle:hover{color:var(--olive-800);background:var(--cream-100);}

@media (max-width:860px){
  .auth-card{grid-template-columns:1fr;max-width:520px;}
  .auth-side{padding:36px 30px;}
  .auth-side ul{margin-top:18px;}
  .auth-form{padding:36px 30px;}
}
@media (max-width:520px){
  .auth-side,.auth-form{padding:30px 22px;}
}

/* =============== Dashboard shell =============== */
#dashboardView{padding:calc(var(--nav-h) + 26px) 0 80px;}
#dashboardView[hidden]{display:none;}
.dash-layout{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start;}

.dash-side{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:26px;position:sticky;top:calc(var(--nav-h) + 26px);}
.dash-user{display:flex;align-items:center;gap:12px;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--cream-100);}
.dash-user .avatar-lg{width:48px;height:48px;border-radius:50%;background:var(--olive-700);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-display);font-size:1.1rem;flex-shrink:0;}
.dash-user strong{display:block;font-size:.95rem;}
.dash-user span{font-size:.78rem;color:var(--text-soft);}

.dash-nav{display:flex;flex-direction:column;}
.dash-nav button{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;
  border-radius:var(--r-sm);font-weight:600;font-size:.9rem;color:var(--ink-700);margin-bottom:4px;
  transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);
}
.dash-nav button:hover{background:var(--cream-100);}
.dash-nav button[aria-selected="true"]{background:var(--mango-100);color:var(--mango-800);}
.dash-nav svg{flex-shrink:0;}
.dash-logout{margin-top:18px;padding-top:18px;border-top:1px solid var(--cream-100);}
.dash-logout button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border-radius:var(--r-sm);font-weight:600;font-size:.9rem;color:var(--clay);}
.dash-logout button:hover{background:var(--clay-soft);}

/* On narrow screens the sidebar becomes a scrollable tab rail. */
@media (max-width:900px){
  .dash-layout{grid-template-columns:1fr;}
  .dash-side{position:static;padding:20px;}
  .dash-nav{flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:6px;scroll-snap-type:x proximity;}
  .dash-nav button{width:auto;white-space:nowrap;margin-bottom:0;scroll-snap-align:start;}
  .dash-logout{margin-top:14px;padding-top:14px;}
  .dash-logout button{width:auto;}
}

.dash-panel[hidden]{display:none;}
.dash-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px;flex-wrap:wrap;gap:14px;}
.dash-head h2{margin-bottom:4px;}
.dash-head h3{font-size:1.1rem;}
.dash-head p{color:var(--text-soft);font-size:.92rem;}

/* =============== Quick stats =============== */
.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px;}
.qstat{background:var(--white);border-radius:var(--r-md);padding:22px;box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);}
.qstat:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.qstat .icon-circle{width:42px;height:42px;margin-bottom:14px;}
.qstat .num{font-family:var(--font-display);font-size:1.5rem;color:var(--olive-900);line-height:1.2;}
.qstat .label{font-size:.8rem;color:var(--text-soft);font-weight:600;}
@media (max-width:900px){.quick-stats{grid-template-columns:1fr 1fr;gap:14px;}}

/* =============== Tree cards =============== */
.tree-card{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:26px;margin-bottom:22px;}
.tree-card:last-child{margin-bottom:0;}
.tree-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px;}
.tree-id{display:flex;gap:16px;}
.tree-id h4{margin-bottom:2px;}
.tree-id span{font-size:.82rem;color:var(--text-soft);}
.tree-visual{width:60px;height:60px;border-radius:14px;flex-shrink:0;background:linear-gradient(135deg,var(--olive-400),var(--olive-700));display:flex;align-items:center;justify-content:center;color:var(--white);}
.tree-visual.mango{background:linear-gradient(135deg,var(--mango-400),var(--mango-700));}

.tree-progress-track{background:var(--cream-100);border-radius:var(--r-pill);height:8px;overflow:hidden;margin:8px 0 6px;}
.tree-progress-fill{background:linear-gradient(90deg,var(--mango-400),var(--mango-700));height:100%;border-radius:var(--r-pill);width:0;transition:width .8s var(--ease);}
/* Season progress is sample data in this preview, so the few values in
   use are expressed as modifier classes rather than inline widths. */
.tree-progress-fill.p28{width:28%;}
.tree-progress-fill.p68{width:68%;}
.tree-stage-labels{display:flex;justify-content:space-between;font-size:.74rem;color:var(--text-soft);font-weight:600;}

/* Harvest countdown pill sitting under the progress bar. */
.harvest-note{
  display:inline-flex;align-items:center;gap:8px;margin-top:16px;
  background:var(--mango-50);color:var(--mango-800);border-radius:var(--r-pill);
  padding:8px 16px;font-size:.82rem;font-weight:700;
}
.harvest-note svg{flex-shrink:0;}

.photo-strip{display:flex;gap:12px;overflow-x:auto;margin-top:18px;padding-bottom:6px;}
.photo-strip::-webkit-scrollbar{height:6px;}
.photo-strip::-webkit-scrollbar-thumb{background:var(--cream-200);border-radius:10px;}
.photo-thumb{
  min-width:132px;height:92px;border-radius:var(--r-sm);flex-shrink:0;position:relative;overflow:hidden;
  display:flex;align-items:flex-end;padding:8px;color:var(--white);font-size:.68rem;font-weight:700;cursor:zoom-in;
}
.photo-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.photo-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.62));}
.photo-thumb:hover img{transform:scale(1.08);}
.photo-thumb span{position:relative;z-index:1;}

/* =============== Dashboard tables ===============
   Below 640px each row re-flows into a stacked card, with the
   column header echoed from data-label so nothing loses meaning. */
.dash-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);}
.dash-table th,.dash-table td{padding:16px 18px;text-align:left;font-size:.88rem;border-bottom:1px solid var(--cream-100);}
.dash-table th{background:var(--cream-100);font-weight:700;color:var(--olive-800);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;}
.dash-table tr:last-child td{border-bottom:none;}
.dash-table .muted{color:var(--text-soft);}

.status-badge{display:inline-block;padding:5px 12px;border-radius:var(--r-pill);font-size:.74rem;font-weight:700;white-space:nowrap;}
.status-confirmed{background:var(--leaf-soft);color:var(--olive-700);}
.status-transit{background:var(--mango-100);color:var(--mango-800);}
.status-delivered{background:var(--olive-100);color:var(--olive-700);}

.txn-amt.credit{color:#5f8a34;font-weight:700;}
.txn-amt.debit{color:var(--clay);font-weight:700;}

@media (max-width:640px){
  .dash-table{box-shadow:none;background:transparent;}
  .dash-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
  .dash-table tr{
    display:block;background:var(--white);border-radius:var(--r-md);
    box-shadow:var(--shadow-sm);margin-bottom:12px;padding:6px 4px;
  }
  .dash-table td{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--cream-100);padding:11px 16px;}
  .dash-table tr td:last-child{border-bottom:none;}
  .dash-table td::before{
    content:attr(data-label);font-weight:700;color:var(--text-soft);
    font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;
  }
  .dash-table td:not([data-label])::before{content:none;}
}

/* =============== Wallet =============== */
.wallet-card{
  background:linear-gradient(135deg,var(--olive-800),var(--olive-900));color:var(--white);
  border-radius:var(--r-lg);padding:32px;margin-bottom:28px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;
  position:relative;overflow:hidden;
}
.wallet-card::before{
  content:"";position:absolute;top:-60%;right:-5%;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(244,191,98,0.18),transparent 65%);pointer-events:none;
}
.wallet-card > *{position:relative;}
.wallet-card .bal-label{font-size:.8rem;opacity:.65;text-transform:uppercase;letter-spacing:.06em;}
.wallet-card .bal-num{font-family:var(--font-display);font-size:2.4rem;margin-top:4px;}
.wallet-actions{display:flex;gap:10px;flex-wrap:wrap;}

/* =============== Profile =============== */
.profile-card{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:26px;}
