/* Sahyadri customer portal */
:root{
  --tb-bg:#fffaf5;
  --tb-card:#ffffff;
  --tb-surface:#fff3e8;
  --tb-text:#191919;
  --tb-muted:#6a645d;
  --tb-line:rgba(25,25,25,.10);
  --tb-ac1:#f58220;
  --tb-ac2:#ff6a00;
  --tb-ok:#22c55e;
  --tb-err:#ef4444;
}

.tbPortal{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:28px 14px;background:radial-gradient(1100px 520px at 20% 10%, rgba(245,130,32,.24), transparent 55%), radial-gradient(900px 520px at 90% 10%, rgba(255,106,0,.12), transparent 55%), var(--tb-bg);}
.tbPortalCard{width:min(460px, 100%);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));border:1px solid var(--tb-line);border-radius:22px;box-shadow:0 18px 60px rgba(0,0,0,.40);padding:18px;backdrop-filter: blur(10px);}
.tbPortalBrand{display:flex;gap:12px;align-items:center;margin-bottom:14px;}
.tbPortalLogo{width:44px;height:44px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--tb-ac1),var(--tb-ac2));font-size:20px;box-shadow:0 10px 30px rgba(236,121,16,.24);}
.tbPortalKicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(226,232,240,.8);}
.tbPortalTitle{font-size:18px;font-weight:800;color:#fff;line-height:1.15;margin-top:2px;}
.tbPortalSub{color:var(--tb-muted);font-size:13px;margin-top:4px;}

.tbPortalMsg{border-radius:14px;padding:10px 12px;margin:10px 0 14px;font-weight:700;font-size:13px;}
.tbPortalMsg.isErr{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#fecaca;}
.tbPortalMsg.isOk{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);color:#bbf7d0;}

.tbPortalForm label{display:block;color:rgba(226,232,240,.88);font-weight:700;font-size:13px;margin:10px 0 6px;}
.tbPortalForm input{width:100%;background:rgba(2,6,23,.55);border:1px solid rgba(148,163,184,.25);color:#fff;border-radius:14px;padding:12px 12px;outline:none;}
.tbPortalForm input:focus{border-color:rgba(245,130,32,.6);box-shadow:0 0 0 4px rgba(245,130,32,.12);}

.tbPortalBtn{width:100%;margin-top:14px;border:0;border-radius:14px;padding:12px 14px;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--tb-ac1),var(--tb-ac2));box-shadow:0 14px 34px rgba(236,121,16,.24);cursor:pointer;}
.tbPortalBtn:hover{filter:brightness(1.05);}

.tbPortalHint{margin-top:10px;color:var(--tb-muted);font-size:12px;line-height:1.5;}

/* Dashboard layout */
.tbDash{background:var(--tb-bg);padding:16px;border-radius:18px;box-shadow:0 12px 60px rgba(0,0,0,.28);border:1px solid rgba(148,163,184,.14);display:grid;grid-template-columns:280px 1fr;gap:14px;}
.tbDashSide{background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));border:1px solid var(--tb-line);border-radius:18px;padding:14px;}
.tbDashUser{display:flex;gap:12px;align-items:center;padding:10px;border-radius:16px;background:rgba(2,6,23,.45);border:1px solid rgba(148,163,184,.18);}
.tbDashAvatar{width:46px;height:46px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,var(--tb-ac1),var(--tb-ac2));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;}
.tbDashAvatar img{width:100%;height:100%;object-fit:cover;}
.tbDashName{color:#fff;font-weight:900;}
.tbDashEmail{color:var(--tb-muted);font-size:12px;}

.tbDashNav{margin-top:12px;display:flex;flex-direction:column;gap:6px;}
.tbDashNav a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;color:rgba(226,232,240,.9);text-decoration:none;border:1px solid transparent;background:rgba(2,6,23,.28);}
.tbDashNav a:hover{border-color:rgba(148,163,184,.25);}
.tbDashNav a.isActive{background:linear-gradient(135deg, rgba(245,130,32,.18), rgba(255,106,0,.12));border-color:rgba(245,130,32,.35);}
.tbDashFoot{margin-top:12px;color:rgba(226,232,240,.55);font-size:11px;}

.tbDashMain{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));border:1px solid var(--tb-line);border-radius:18px;padding:14px;min-height:520px;}
.tbDashTop{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:12px;}
.tbDashKicker{color:rgba(226,232,240,.70);font-size:12px;letter-spacing:.16em;text-transform:uppercase;}
.tbDashH{color:#fff;margin:2px 0 0;font-size:20px;font-weight:900;}
.tbDashPills{display:flex;gap:8px;flex-wrap:wrap;}
.tbPill{background:rgba(2,6,23,.40);border:1px solid rgba(148,163,184,.20);color:rgba(226,232,240,.86);border-radius:999px;padding:8px 10px;font-size:12px;font-weight:800;}

.tbPanel{background:rgba(2,6,23,.38);border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:12px;}
.tbPanelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;}
.tbPanelTitle{color:#fff;font-weight:900;font-size:14px;}
.tbPanelSub{color:var(--tb-muted);font-size:12px;margin-top:2px;}

.tbEmpty{color:rgba(226,232,240,.75);padding:12px;border-radius:14px;border:1px dashed rgba(148,163,184,.28);background:rgba(2,6,23,.22);}

.tbCards{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:10px;}
.tbCard2{background:rgba(15,23,42,.72);border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:12px;}
.tbCard2Top{display:flex;justify-content:space-between;gap:10px;}
.tbCard2K{color:rgba(226,232,240,.7);font-size:12px;font-weight:900;letter-spacing:.08em;}
.tbCard2T{color:#fff;font-weight:900;margin-top:2px;}
.tbCard2M{color:var(--tb-muted);font-size:12px;margin-top:4px;line-height:1.35;}
.tbCard2Amt{color:#fff;font-weight:900;white-space:nowrap;}
.tbCard2Actions{display:flex;gap:8px;margin-top:10px;}

.tbCard2Badges{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap;}
.tbBadge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.08em;border:1px solid rgba(148,163,184,.20);background:rgba(2,6,23,.35);color:rgba(226,232,240,.90);}
.tbBadge.isPAID{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.10);}
.tbBadge.isFAILED{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.10);}
.tbBadge.isPENDING{border-color:rgba(245,130,32,.35);background:rgba(245,130,32,.10);}

.tbBtnWa{border:1px solid rgba(34,197,94,.35);background:rgba(34,197,94,.10);color:#bbf7d0;}
.tbBtnWa:hover{border-color:rgba(34,197,94,.60);}

.tbHist{margin-top:10px;border-radius:16px;border:1px dashed rgba(148,163,184,.22);background:rgba(2,6,23,.26);padding:10px;}
.tbHistList{display:flex;flex-direction:column;gap:8px;}
.tbHistRow{display:grid;grid-template-columns:90px 1fr 150px;gap:10px;align-items:center;padding:8px 10px;border-radius:14px;border:1px solid rgba(148,163,184,.16);background:rgba(15,23,42,.52);}
.tbHistSt{font-weight:900;color:#fff;font-size:12px;}
.tbHistNote{color:rgba(226,232,240,.82);font-size:12px;}
.tbHistTs{color:rgba(226,232,240,.55);font-size:11px;text-align:right;}

.tbBtnSm{display:inline-flex;align-items:center;justify-content:center;padding:9px 10px;border-radius:12px;background:linear-gradient(135deg,var(--tb-ac1),var(--tb-ac2));color:#fff;font-weight:900;text-decoration:none;font-size:12px;border:0;}
.tbBtnGhost{background:transparent;border:1px solid rgba(148,163,184,.28);color:rgba(226,232,240,.92);}
.tbBtnGhost:hover{border-color:rgba(245,130,32,.55);}

.tbList{display:flex;flex-direction:column;gap:8px;}
.tbListRow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:16px;background:rgba(15,23,42,.62);border:1px solid rgba(148,163,184,.16);}
.tbListTitle{color:#fff;font-weight:900;font-size:13px;}
.tbListSub{color:var(--tb-muted);font-size:12px;margin-top:2px;}

.tbProfile .tbRow{margin-bottom:12px;}
.tbGrid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.tbRow label{display:block;color:rgba(226,232,240,.88);font-weight:800;font-size:12px;margin:0 0 6px;}
.tbRow input[type="text"], .tbRow input[type="email"], .tbRow input[type="password"], .tbRow input[type="file"]{width:100%;background:rgba(2,6,23,.55);border:1px solid rgba(148,163,184,.25);color:#fff;border-radius:14px;padding:12px 12px;outline:none;}
.tbTiny{color:rgba(226,232,240,.68);font-size:12px;}

@media (max-width: 900px){
  .tbDash{grid-template-columns:1fr;}
  .tbCards{grid-template-columns:1fr;}
  .tbDashMain{min-height:auto;}
}

@media (max-width: 520px){
  .tbCard2Actions{flex-wrap:wrap;}
  .tbHistRow{grid-template-columns:1fr;}
  .tbHistTs{text-align:left;}
}
/* --- Portal input/button consistency + spacing --- */
.tbPortal .tbPortalForm input[type="email"],
.tbPortal .tbPortalForm input[type="password"]{
  padding:0 18px !important;

  /* make border feel like the button */
  border-radius:18px !important;
  border:1.5px solid rgba(255,255,255,0.28) !important;
  background:rgba(2,6,23,.55) !important;

}


.tbPortal .tbPortalBtn{
  border-radius:18px !important;
  margin-top:20px !important; /* spacing handled by input margin-bottom */
}

/* Light, orange brand treatment shared with the Sahyadri theme. */
.tbPortal{background:radial-gradient(900px 480px at 15% 0%,rgba(245,130,32,.18),transparent 58%),var(--tb-bg);font-family:Arial,Helvetica,sans-serif}
.tbPortalCard,.tbDash,.tbDashSide,.tbDashMain{background:#fff;border-color:var(--tb-line);box-shadow:0 24px 60px rgba(236,121,16,.12)}
.tbPortalTitle,.tbDashName,.tbDashH,.tbPanelTitle,.tbCard2T,.tbCard2Amt,.tbListTitle,.tbHistSt{color:var(--tb-text)}
.tbPortalKicker,.tbPortalSub,.tbPortalHint,.tbDashEmail,.tbDashKicker,.tbPanelSub,.tbCard2K,.tbCard2M,.tbListSub,.tbDashFoot,.tbHistTs,.tbTiny{color:var(--tb-muted)}
.tbPortalForm label,.tbRow label{color:#312d28}
.tbPortal .tbPortalForm input[type="email"],.tbPortal .tbPortalForm input[type="password"],.tbRow input[type="text"],.tbRow input[type="email"],.tbRow input[type="password"],.tbRow input[type="file"]{background:#fff!important;border-color:rgba(25,25,25,.14)!important;color:var(--tb-text)!important}
.tbPortalForm input:focus{border-color:rgba(245,130,32,.65);box-shadow:0 0 0 4px rgba(245,130,32,.13)}
.tbPortalBtn,.tbBtnSm{background:linear-gradient(180deg,#ff7c16 0%,#f05f00 100%);box-shadow:0 14px 34px rgba(236,121,16,.24)}
.tbDashUser,.tbDashNav a,.tbPill,.tbPanel,.tbCard2,.tbHist,.tbHistRow,.tbListRow{background:#fffaf5;border-color:var(--tb-line);color:#312d28}
.tbDashNav a.isActive{background:#fff0e1;border-color:rgba(245,130,32,.42)}
.tbBadge{background:#fff;color:#312d28;border-color:var(--tb-line)}
.tbBtnGhost{color:#312d28;border-color:rgba(25,25,25,.18)}

/* Full-width Sahyadri login experience */
.tbPortal{
  width:100%;
  min-height:calc(100vh - 142px);
  padding:64px 28px;
  background:transparent;
}
.tbPortalShell{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  width:min(1180px,100%);
  min-height:610px;
  margin:0 auto;
  overflow:hidden;
  border:1px solid rgba(25,25,25,.08);
  border-radius:24px;
  background:#fff;
  box-shadow:0 28px 80px rgba(122,65,18,.12);
}
.tbPortalIntro{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:64px;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 78% 18%,rgba(255,255,255,.22),transparent 28%),
    linear-gradient(145deg,#ff8a2a 0%,#ed5c00 100%);
}
.tbPortalIntro::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-130px;
  width:390px;
  height:390px;
  border:70px solid rgba(255,255,255,.08);
  border-radius:50%;
}
.tbPortalIntro > *{position:relative;z-index:1}
.tbPortalIntro .tbPortalLogo{
  width:62px;
  height:62px;
  margin-bottom:30px;
  color:#f36a08;
  background:#fff;
  border-radius:18px;
  box-shadow:none;
  font-size:26px;
}
.tbPortalIntro .tbPortalKicker{color:rgba(255,255,255,.78);font-weight:800}
.tbPortalIntro .tbPortalTitle{
  margin:10px 0 18px;
  color:#fff;
  font-size:clamp(2.4rem,4vw,4.4rem);
  line-height:1.02;
  letter-spacing:-.045em;
}
.tbPortalIntro .tbPortalSub{max-width:490px;margin:0;color:rgba(255,255,255,.86);font-size:1rem;line-height:1.7}
.tbPortalFeatures{display:grid;gap:14px;margin-top:42px}
.tbPortalFeatures span{display:flex;align-items:center;gap:12px;color:#fff;font-size:.9rem;font-weight:700}
.tbPortalFeatures i{width:20px;text-align:center;color:#fff}
.tbPortalShell > .tbPortalCard{
  display:flex;
  width:auto;
  max-width:none;
  flex-direction:column;
  justify-content:center;
  padding:64px;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
  backdrop-filter:none;
}
.tbPortalFormHead{margin-bottom:24px}
.tbPortalFormHead h2{margin:7px 0 8px;color:#191919;font-size:2rem;line-height:1.1}
.tbPortalFormHead p{margin:0;color:#6a645d;font-size:.92rem;line-height:1.55}
.tbPortal .tbPortalForm label{margin:18px 0 8px;color:#312d28;font-size:.78rem}
.tbPortal .tbPortalForm input[type="email"],
.tbPortal .tbPortalForm input[type="password"]{
  height:54px;
  padding:0 16px!important;
  border:1px solid rgba(25,25,25,.15)!important;
  border-radius:12px!important;
  font-size:.95rem;
}
.tbPortal .tbPortalForm input:focus{border-color:#f58220!important;box-shadow:0 0 0 4px rgba(245,130,32,.12)!important}
.tbPortal .tbPortalBtn{min-height:54px;margin-top:24px!important;border-radius:12px!important;font-size:.95rem}
.tbPortal .tbPortalHint{margin-top:18px;padding-top:18px;border-top:1px solid rgba(25,25,25,.08);line-height:1.6}

@media (max-width:900px){
  .tbPortal{min-height:auto;padding:36px 20px}
  .tbPortalShell{grid-template-columns:1fr;min-height:0}
  .tbPortalIntro{padding:42px}
  .tbPortalIntro .tbPortalTitle{font-size:2.8rem}
  .tbPortalFeatures{display:none}
  .tbPortalShell > .tbPortalCard{padding:42px}
}
@media (max-width:520px){
  .tbPortal{padding:20px 14px}
  .tbPortalShell{border-radius:18px}
  .tbPortalIntro{padding:30px 24px}
  .tbPortalIntro .tbPortalLogo{width:50px;height:50px;margin-bottom:20px;font-size:21px}
  .tbPortalIntro .tbPortalTitle{font-size:2.15rem}
  .tbPortalIntro .tbPortalSub{font-size:.9rem}
  .tbPortalShell > .tbPortalCard{padding:30px 24px}
}

/* Refined login proportions and OTP state */
.tbPortal{padding:48px 28px}
.tbPortalShell{
  grid-template-columns:minmax(0,.82fr) minmax(440px,1.18fr);
  width:min(1080px,100%);
  min-height:530px;
  border-radius:20px;
  box-shadow:0 24px 70px rgba(122,65,18,.10);
}
.tbPortalIntro{padding:48px}
.tbPortalIntro .tbPortalLogo{width:52px;height:52px;margin-bottom:24px;border-radius:15px;font-size:22px}
.tbPortalIntro .tbPortalTitle{max-width:400px;margin:8px 0 14px;font-size:clamp(2.15rem,3.2vw,3.25rem);letter-spacing:-.04em}
.tbPortalIntro .tbPortalSub{max-width:400px;font-size:.92rem;line-height:1.6}
.tbPortalFeatures{gap:11px;margin-top:30px}
.tbPortalFeatures span{font-size:.8rem;font-weight:700}
.tbPortalShell > .tbPortalCard{padding:52px 58px}
.tbPortalMsg.isErr{background:#fff4f2;border-color:#f5b7ae;color:#8b2f24}
.tbPortalMsg.isOk{background:#f1fbf3;border-color:#b9dfc0;color:#285f33}
.tbPortalFormHead h2{font-size:1.75rem}
.tbOtpInput{text-align:center;font-size:1.4rem!important;font-weight:800;letter-spacing:.55em;font-variant-numeric:tabular-nums}
.tbOtpForm .tbPortalHint a{color:#e85f05;font-weight:800;text-decoration:none}

/* Dashboard framed by the normal website header and footer */
.tbDash{
  grid-template-columns:250px minmax(0,1fr);
  width:min(1280px,calc(100% - 48px));
  margin:48px auto 72px;
  padding:0;
  gap:18px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  font-family:Arial,Helvetica,sans-serif;
}
.tbDashSide{
  padding:16px;
  border:1px solid rgba(25,25,25,.08);
  border-radius:16px;
  background:#fff;
  box-shadow:0 16px 45px rgba(122,65,18,.08);
}
.tbDashUser{padding:12px;background:#fff8f2;border:0}
.tbDashAvatar{width:42px;height:42px;border-radius:12px}
.tbDashName{font-size:.88rem}
.tbDashEmail{overflow:hidden;max-width:145px;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem}
.tbDashNav{gap:4px;margin-top:14px}
.tbDashNav a{padding:11px 12px;background:transparent;border:0;color:#514a43;font-size:.8rem;font-weight:700}
.tbDashNav a > span{display:flex;align-items:center;gap:10px}
.tbDashNav a > i{font-size:.6rem;opacity:.45}
.tbDashNav a span i{width:15px;color:#f36a08;text-align:center}
.tbDashNav a:hover{background:#fff8f2;border-color:transparent}
.tbDashNav a.isActive{background:#fff0e3;border-color:transparent;color:#d95300}
.tbDashFoot{padding:12px 8px 2px;color:#8b837b;font-size:.62rem}
.tbDashMain{
  min-height:560px;
  padding:24px;
  border:1px solid rgba(25,25,25,.08);
  border-radius:16px;
  background:#fff;
  box-shadow:0 16px 45px rgba(122,65,18,.08);
}
.tbDashTop{align-items:center;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid rgba(25,25,25,.08)}
.tbDashKicker{color:#f36a08;font-size:.68rem;font-weight:800}
.tbDashH{color:#191919;font-size:1.45rem}
.tbPill{padding:7px 10px;background:#fff8f2;border-color:#f4dfcf;color:#655b52;font-size:.68rem}
.tbPanel{padding:16px;border-color:rgba(25,25,25,.08);background:#fffaf5}
.tbPanelTitle{color:#191919;font-size:.84rem}
.tbPanelSub{color:#756d65;font-size:.7rem}
.tbCard2,.tbListRow,.tbHistRow{background:#fff;border-color:rgba(25,25,25,.08)}

@media (max-width:900px){
  .tbPortalShell{grid-template-columns:1fr;min-height:0}
  .tbPortalIntro{padding:36px 42px}
  .tbPortalIntro .tbPortalTitle{font-size:2.4rem}
  .tbPortalShell > .tbPortalCard{padding:42px}
  .tbDash{grid-template-columns:1fr;width:min(720px,calc(100% - 32px));margin:32px auto 56px}
  .tbDashNav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .tbDashFoot{display:none}
}
@media (max-width:520px){
  .tbPortal{padding:18px 12px}
  .tbPortalIntro{padding:28px 24px}
  .tbPortalIntro .tbPortalTitle{font-size:2rem}
  .tbPortalShell > .tbPortalCard{padding:30px 24px}
  .tbDash{width:calc(100% - 24px);margin:24px auto 40px}
  .tbDashMain{padding:16px}
  .tbDashTop{align-items:flex-start;flex-direction:column}
  .tbDashNav{grid-template-columns:1fr}
}

/* Supplied artwork replaces all left-panel content. */
.tbPortalIntroImage{
  min-height:530px;
  padding:0;
  background-color:#f36a08;
  background-image:url("https://sahyadrirockadventures.in/wp-content/uploads/2026/06/Screenshot-2026-06-20-at-11.51.05-AM.webp");
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
}
.tbPortalIntroImage::after{display:none}
@media (min-width:901px){
  .tbPortal{padding:32px 24px}
  .tbPortalShell{grid-template-columns:1fr 1fr;width:min(940px,100%);min-height:460px}
  .tbPortalIntroImage{min-height:460px}
  .tbPortalShell > .tbPortalCard{padding:36px 40px}
  .tbPortalFormHead{margin-bottom:18px}
  .tbPortalFormHead h2{font-size:1.55rem}
  .tbPortal .tbPortalForm label{margin-top:13px}
  .tbPortal .tbPortalForm input[type="email"],
  .tbPortal .tbPortalForm input[type="password"]{height:48px}
  .tbPortal .tbPortalBtn{min-height:49px;margin-top:19px!important}
  .tbPortal .tbPortalHint{margin-top:14px;padding-top:14px}
}
@media (max-width:900px){
  .tbPortalIntroImage{min-height:320px;background-position:center 30%}
}
@media (max-width:520px){
  .tbPortalIntroImage{min-height:250px;background-position:center 26%}
}
