/* ============================================================
   ANTIGO — Panel klienta (panel.css)
   Kontynuacja designu z index.html
   ============================================================ */

:root{
  --bg: #070b10;
  --bg-panel: #0d141c;
  --bg-panel-2: #111a23;
  --bg-input: #0a1219;
  --line: #1c2833;
  --line-2: #243240;
  --cyan: #2fd6ea;
  --cyan-dim: #1a8fa0;
  --cyan-glow: rgba(47,214,234,0.18);
  --steel: #c7d2da;
  --steel-dim: #7c8b98;
  --white: #f2f7f9;
  --pos: #5dd39e;
  --neg: #ff7a7a;
  --warn: #f5b14a;
  --radius: 3px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  background:var(--bg);
  color:var(--steel);
  font-family:'Manrope',sans-serif;
  line-height:1.6;
  min-height:100vh;
  display:flex;flex-direction:column;
}

h1,h2,h3,.brand,.brand-name,.brand-tag,
.tab,.stat-num,.user-name,.ps-amount,.reward-name{
  font-family:'Rajdhani',sans-serif;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.wrap{max-width:1180px;margin:0 auto;padding:0 28px;width:100%;}

/* ============================================================
   BRAND (panel)
   ============================================================ */
.brand{
  display:flex;align-items:center;gap:12px;
  font-family:'Rajdhani',sans-serif;
  color:var(--white);text-decoration:none;
}
.brand-logo{
  height:42px;width:auto;display:block;
  filter:drop-shadow(0 0 12px rgba(47,214,234,0.32));
  transition:filter .3s ease, transform .45s cubic-bezier(.2,.8,.2,1);
}
.brand:hover .brand-logo{
  filter:drop-shadow(0 0 20px rgba(47,214,234,0.6));
  transform:rotate(-4deg) scale(1.04);
}
.brand-text{display:flex;flex-direction:column;gap:3px;line-height:1;}
.brand-name{
  font-size:1.35rem;font-weight:700;letter-spacing:4.5px;
  color:var(--white);position:relative;display:inline-block;
}
.brand-tag{
  font-size:0.6rem;font-weight:600;letter-spacing:3.2px;
  color:var(--cyan);
}

/* ============================================================
   LOGIN
   ============================================================ */
.login-body{
  background:
    radial-gradient(ellipse 800px 500px at 70% 20%, rgba(47,214,234,0.10), transparent 60%),
    radial-gradient(ellipse 600px 400px at 20% 80%, rgba(47,214,234,0.06), transparent 60%),
    var(--bg);
  display:flex;align-items:center;justify-content:center;
  padding:30px;
}

.login-shell{
  width:100%;max-width:440px;
  display:flex;flex-direction:column;align-items:center;
  position:relative;
}
.login-back{
  position:absolute;top:-30px;left:0;
  font-size:0.85rem;color:var(--steel-dim);
  display:inline-flex;align-items:center;gap:6px;
  transition:color .2s;
}
.login-back:hover{color:var(--cyan);}

.login-card{
  width:100%;
  background:var(--bg-panel);
  border:1px solid var(--line);
  border-radius:6px;
  padding:42px 38px 32px;
  text-align:center;
  position:relative;
  box-shadow:0 30px 80px rgba(0,0,0,0.45);
}

.login-orb{
  position:relative;width:120px;height:120px;
  margin:0 auto 24px;
}
.orb-ring{
  position:absolute;border-radius:50%;pointer-events:none;
}
.orb-ring-1{inset:0;border:1px solid rgba(47,214,234,0.35);}
.orb-ring-2{
  inset:12px;border:1px dashed rgba(47,214,234,0.3);
  animation:spin 30s linear infinite;
}
.orb-tick{
  position:absolute;width:7px;height:7px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 10px var(--cyan);
}
.orb-tick-1{top:-3.5px;left:50%;transform:translateX(-50%);}
.orb-tick-2{top:50%;right:-3.5px;transform:translateY(-50%);}
.orb-tick-3{bottom:-3.5px;left:50%;transform:translateX(-50%);}
.orb-tick-4{top:50%;left:-3.5px;transform:translateY(-50%);}
.orb-core{
  position:absolute;inset:22px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%, var(--bg-panel-2), var(--bg) 80%);
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);
  box-shadow:0 0 30px rgba(47,214,234,0.2), inset 0 0 20px rgba(47,214,234,0.08);
  overflow:hidden;
}
.orb-core img{
  position:relative;z-index:1;width:75%;
  filter:drop-shadow(0 0 16px rgba(47,214,234,0.45));
}
@keyframes spin{to{transform:rotate(360deg);}}

.login-title{
  color:var(--white);font-size:2rem;font-weight:700;
  letter-spacing:2px;margin-bottom:6px;
}
.login-sub{
  color:var(--steel-dim);font-size:0.95rem;margin-bottom:26px;
}

.login-form{text-align:left;}
.login-form .field{margin-bottom:16px;}
.login-form .btn{width:100%;margin-top:8px;}

.login-hint{
  margin-top:22px;padding:12px 14px;
  background:var(--bg-panel-2);border:1px dashed var(--line);
  border-radius:var(--radius);
  font-size:0.82rem;color:var(--steel-dim);text-align:left;line-height:1.7;
}
.login-hint code{
  font-family:'Manrope',monospace;color:var(--cyan);
  background:rgba(47,214,234,0.08);padding:1px 6px;border-radius:2px;
}

.login-foot{
  margin-top:24px;font-size:0.78rem;color:var(--steel-dim);
}

/* ============================================================
   ALERTY
   ============================================================ */
.alert{
  padding:14px 18px;border-radius:var(--radius);
  font-size:0.95rem;margin-top:22px;
  border:1px solid;
}
.alert-error{
  background:rgba(255,122,122,0.08);
  border-color:rgba(255,122,122,0.3);
  color:#ffc4c4;
}
.alert-ok{
  background:rgba(93,211,158,0.08);
  border-color:rgba(93,211,158,0.3);
  color:#a8e9c6;
}

/* ============================================================
   PANEL HEADER
   ============================================================ */
.panel-header{
  background:rgba(7,11,16,0.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:50;
}
.panel-header-inner{
  max-width:1180px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 28px;gap:20px;
}
.panel-user{
  display:flex;align-items:center;gap:14px;
}
.panel-user-info{
  display:flex;flex-direction:column;line-height:1.2;text-align:right;
}
.user-name{
  font-size:1.05rem;font-weight:600;color:var(--white);
  letter-spacing:0.5px;
}
.user-meta{
  font-size:0.78rem;color:var(--steel-dim);
  letter-spacing:0.5px;
}
.user-avatar{
  width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,var(--cyan),var(--cyan-dim));
  color:#04141a;font-family:'Rajdhani',sans-serif;font-weight:700;
  font-size:1.15rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 14px rgba(47,214,234,0.35);
}

/* ============================================================
   MAIN LAYOUT
   ============================================================ */
.panel-main{
  display:grid;grid-template-columns:280px 1fr;
  gap:30px;align-items:start;
  padding-top:36px;padding-bottom:60px;
  flex:1;
}

/* ============================================================
   SIDE PANEL
   ============================================================ */
.panel-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:90px;}
.side-card{
  background:var(--bg-panel);
  border:1px solid var(--line);
  border-radius:6px;padding:22px 22px 18px;
}
.side-eyebrow{
  color:var(--cyan);font-size:0.72rem;font-weight:600;
  letter-spacing:2.5px;margin-bottom:10px;text-transform:uppercase;
}
.side-name{
  color:var(--white);font-family:'Rajdhani',sans-serif;
  font-size:1.3rem;font-weight:700;line-height:1.15;margin-bottom:4px;
}
.side-meta{
  color:var(--steel-dim);font-size:0.85rem;margin-bottom:14px;
}
.side-sep,.aside-sep{
  border:none;border-top:1px solid var(--line);
  margin:14px 0;
}
.side-line{
  display:flex;justify-content:space-between;gap:10px;
  font-size:0.88rem;margin-bottom:8px;
}
.side-line span{color:var(--steel-dim);}
.side-line strong{color:var(--white);font-weight:600;text-align:right;}
.side-balance{
  font-family:'Rajdhani',sans-serif;
  font-size:1.7rem;font-weight:700;color:var(--white);
  letter-spacing:0.5px;line-height:1;margin-bottom:4px;
}
.side-balance small{font-size:0.9rem;color:var(--steel-dim);font-weight:600;}
.side-balance--pos{color:var(--pos);}
.side-balance--neg{color:var(--neg);}

/* ============================================================
   CONTENT / TABS
   ============================================================ */
.panel-content{min-width:0;}

.tabs{
  display:flex;gap:0;border-bottom:1px solid var(--line);
  margin-bottom:24px;flex-wrap:wrap;
}
.tab{
  padding:14px 22px;color:var(--steel-dim);
  font-family:'Rajdhani',sans-serif;font-weight:600;
  font-size:1.05rem;letter-spacing:1.5px;
  text-transform:uppercase;
  border-bottom:2px solid transparent;
  margin-bottom:-1px;transition:color .2s, border-color .2s;
}
.tab:hover{color:var(--cyan);}
.tab.active{
  color:var(--white);
  border-bottom-color:var(--cyan);
}

.tab-pane{display:none;}
.tab-pane.active{display:block;animation:fade .25s ease;}
@keyframes fade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}

.pane-head{margin-bottom:24px;}
.pane-head h2{
  color:var(--white);font-size:1.8rem;font-weight:700;
  letter-spacing:0.5px;margin-bottom:6px;
}
.pane-head p{color:var(--steel-dim);font-size:0.98rem;max-width:640px;}

/* ============================================================
   FORMS
   ============================================================ */
.form-card{
  background:var(--bg-panel-2);
  border:1px solid var(--line);
  border-radius:6px;padding:28px;
}
.form-row{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;
}
.form-row:last-of-type{margin-bottom:22px;}
.field{display:flex;flex-direction:column;gap:7px;}
.field.full{grid-column:1/-1;}
label{
  font-size:0.82rem;color:var(--steel-dim);font-weight:600;
  letter-spacing:0.4px;
}
input,select,textarea{
  background:var(--bg-input);
  border:1px solid var(--line);color:var(--white);
  padding:11px 13px;border-radius:var(--radius);
  font-family:'Manrope',sans-serif;font-size:0.95rem;
  outline:none;transition:border-color .2s, box-shadow .2s;
  width:100%;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--cyan-dim);
  box-shadow:0 0 0 3px rgba(47,214,234,0.12);
}
textarea{resize:vertical;min-height:100px;font-family:'Manrope',sans-serif;}
.form-note{font-size:0.8rem;color:var(--steel-dim);margin-top:12px;}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:'Rajdhani',sans-serif;font-weight:600;
  font-size:1rem;letter-spacing:0.5px;
  padding:11px 22px;border-radius:var(--radius);
  cursor:pointer;border:1px solid transparent;transition:all .2s;
  text-decoration:none;
}
.btn-sm{padding:8px 16px;font-size:0.92rem;}
.btn-primary{
  background:linear-gradient(135deg,var(--cyan),var(--cyan-dim));
  color:#04141a;box-shadow:0 0 0 rgba(47,214,234,0);
}
.btn-primary:hover{box-shadow:0 0 22px rgba(47,214,234,0.4);transform:translateY(-1px);}
.btn-ghost{
  background:transparent;border:1px solid var(--line-2);color:var(--steel);
}
.btn-ghost:hover{border-color:var(--cyan-dim);color:var(--cyan);}

/* ============================================================
   PANE: UMÓW TERMIN
   ============================================================ */
.pane-grid{
  display:grid;grid-template-columns:1.4fr 1fr;gap:20px;
  align-items:start;
}
.pane-aside{display:flex;flex-direction:column;gap:16px;}
.aside-card{
  background:var(--bg-panel);
  border:1px solid var(--line);
  border-radius:6px;padding:22px;
}
.aside-eyebrow{
  color:var(--cyan);font-size:0.72rem;font-weight:600;
  letter-spacing:2.5px;margin-bottom:12px;text-transform:uppercase;
}
.aside-line{
  display:flex;justify-content:space-between;gap:10px;
  font-size:0.9rem;margin-bottom:7px;
}
.aside-line span{color:var(--steel-dim);}
.aside-line strong{color:var(--white);font-weight:600;text-align:right;}

/* ============================================================
   PANE: PORTFEL — PUNKTY I NAGRODY
   ============================================================ */
.points-summary{
  display:grid;grid-template-columns:1fr 1.4fr;gap:18px;
  margin-bottom:36px;
}
.ps-card{
  background:var(--bg-panel-2);
  border:1px solid var(--line);
  border-radius:6px;padding:26px;
  position:relative;
}
.ps-balance{
  display:flex;flex-direction:column;justify-content:center;
  background:
    radial-gradient(circle at 80% 0%, rgba(47,214,234,0.18), transparent 55%),
    radial-gradient(circle at 0% 100%, rgba(47,214,234,0.08), transparent 50%),
    var(--bg-panel-2);
  border:1px solid rgba(47,214,234,0.18);
}
.ps-eyebrow{
  color:var(--cyan);font-size:0.72rem;font-weight:600;
  letter-spacing:2.5px;margin-bottom:14px;text-transform:uppercase;
}
.ps-amount{
  font-family:'Rajdhani',sans-serif;
  font-size:3rem;font-weight:700;color:var(--white);
  letter-spacing:0.5px;line-height:1;margin-bottom:8px;
  font-variant-numeric:tabular-nums;
}
.ps-amount small{font-size:1rem;color:var(--cyan);font-weight:600;margin-left:4px;}
.ps-meta{color:var(--steel-dim);font-size:0.88rem;line-height:1.5;}

.ps-redeem .field{margin-bottom:14px;}
.ps-redeem .btn{width:100%;}

/* ----- katalog nagród ----- */
.rewards-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  margin-bottom:36px;
}
.reward-card{
  background:var(--bg-panel-2);
  border:1px solid var(--line);
  border-radius:6px;
  padding:22px 22px 20px;
  display:flex;flex-direction:column;
  position:relative;
  transition:border-color .2s, transform .2s, box-shadow .2s;
}
.reward-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(0,0,0,0.25);
}
.reward-card--available{
  border-color:rgba(93,211,158,0.35);
  background:
    radial-gradient(circle at 100% 0%, rgba(93,211,158,0.06), transparent 50%),
    var(--bg-panel-2);
}
.reward-card--locked{opacity:0.78;}

.reward-head{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:12px;margin-bottom:14px;
}
.reward-icon{
  width:48px;height:48px;border-radius:6px;
  background:rgba(47,214,234,0.1);
  color:var(--cyan);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.reward-icon svg{width:24px;height:24px;}
.reward-card--available .reward-icon{
  background:rgba(93,211,158,0.12);
  color:var(--pos);
  box-shadow:0 0 18px rgba(93,211,158,0.18);
}
.reward-cat{
  font-size:0.66rem;font-weight:600;letter-spacing:1.8px;
  text-transform:uppercase;color:var(--steel-dim);
  background:var(--bg-input);border:1px solid var(--line);
  padding:4px 10px;border-radius:99px;white-space:nowrap;
}
.reward-card--available .reward-cat{
  background:rgba(93,211,158,0.1);border-color:rgba(93,211,158,0.3);
  color:var(--pos);
}

.reward-name{
  color:var(--white);font-family:'Rajdhani',sans-serif;
  font-size:1.15rem;font-weight:600;letter-spacing:0.3px;
  margin-bottom:6px;line-height:1.25;
}
.reward-desc{
  color:var(--steel-dim);font-size:0.88rem;line-height:1.55;
  margin-bottom:18px;flex:1;
}

.reward-cost{
  display:flex;align-items:baseline;gap:4px;
  margin-bottom:14px;
}
.cost-num{
  font-family:'Rajdhani',sans-serif;
  font-size:2rem;font-weight:700;color:var(--white);
  letter-spacing:0.5px;line-height:1;
  font-variant-numeric:tabular-nums;
}
.reward-card--locked .cost-num{color:var(--steel-dim);}
.reward-card--available .cost-num{color:var(--cyan);}
.cost-unit{
  font-size:0.85rem;font-weight:600;letter-spacing:1px;
  color:var(--steel-dim);text-transform:uppercase;
}

.reward-progress{margin-bottom:16px;}
.rp-bar{
  height:6px;background:var(--bg-input);
  border-radius:99px;overflow:hidden;
  border:1px solid var(--line);
}
.rp-fill{
  height:100%;
  background:linear-gradient(90deg,var(--cyan),var(--cyan-dim));
  border-radius:99px;
  transition:width .4s ease;
}
.reward-card--available .rp-fill{
  background:linear-gradient(90deg,var(--pos),#4ab386);
}
.rp-meta{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:7px;
  font-size:0.78rem;
}
.rp-status{
  color:var(--steel-dim);font-weight:500;
}
.rp-status--ok{
  color:var(--pos);font-weight:600;
  letter-spacing:0.5px;
}
.rp-pct{
  color:var(--steel-dim);font-variant-numeric:tabular-nums;
  font-size:0.75rem;
}

.reward-form{margin-top:auto;}
.reward-form .btn{width:100%;}
.btn-block{width:100%;}
.btn:disabled{opacity:0.5;cursor:not-allowed;transform:none !important;box-shadow:none !important;}

/* ----- sidebar: punkty ----- */
.side-points .side-balance{
  display:flex;align-items:baseline;gap:4px;
}
.side-points .side-balance small{
  font-size:0.9rem;font-weight:600;
  color:var(--cyan);
}

/* ============================================================
   WIDGET: KOD POLECAJĄCY (sidebar)
   ============================================================ */
.referral-card{
  background:linear-gradient(135deg,
    rgba(47,214,234,0.08),
    rgba(47,214,234,0.02));
  border:1px solid rgba(47,214,234,0.25);
  border-radius:6px;padding:20px 22px;
}
.referral-head{
  display:flex;align-items:center;gap:8px;
  margin-bottom:14px;
}
.referral-head .rh-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 8px var(--cyan);
}
.referral-head .rh-label{
  font-family:'Rajdhani',sans-serif;
  font-size:0.74rem;font-weight:600;letter-spacing:2.2px;
  color:var(--cyan);text-transform:uppercase;
}
.referral-code-box{
  display:flex;align-items:stretch;gap:0;
  background:var(--bg);
  border:1px solid rgba(47,214,234,0.35);
  border-radius:4px;overflow:hidden;
  margin-bottom:12px;
}
.referral-code{
  flex:1;padding:10px 14px;
  font-family:'Rajdhani',sans-serif;font-weight:700;
  font-size:1.3rem;letter-spacing:2px;color:var(--white);
  display:flex;align-items:center;
  user-select:all;
}
.referral-copy{
  background:rgba(47,214,234,0.12);border:none;
  color:var(--cyan);padding:0 14px;cursor:pointer;
  font-family:'Rajdhani',sans-serif;font-weight:600;
  font-size:0.85rem;letter-spacing:1px;
  transition:background .2s;
  border-left:1px solid rgba(47,214,234,0.35);
}
.referral-copy:hover{background:rgba(47,214,234,0.22);}
.referral-copy.copied{background:rgba(93,211,158,0.2);color:var(--pos);}
.referral-msg{
  font-size:0.8rem;color:var(--steel-dim);line-height:1.5;
}
.referral-msg b{color:var(--cyan);font-weight:600;}

/* ============================================================
   WIDGET: KODY RABATOWE (sekcja Portfel)
   ============================================================ */
.discount-card{
  background:var(--bg-panel-2);
  border:1px solid var(--line);
  border-radius:6px;padding:20px 24px;
  margin-bottom:16px;
}
.discount-list{display:flex;flex-direction:column;gap:8px;}
.discount-row{
  display:grid;
  grid-template-columns:1.4fr 0.6fr 1fr auto;
  gap:14px;align-items:center;
  padding:14px 16px;
  background:var(--bg);
  border:1px solid var(--line);
  border-left:3px solid var(--cyan-dim);
  border-radius:4px;
  font-size:0.9rem;
}
.discount-row.is-used{
  border-left-color:var(--steel-dim);
  opacity:0.55;
}
.discount-row.is-expired{
  border-left-color:var(--neg);
  opacity:0.55;
}
.discount-code{
  font-family:'Rajdhani',sans-serif;
  font-weight:700;font-size:1.05rem;
  letter-spacing:1.5px;color:var(--cyan);
  user-select:all;
}
.discount-row.is-used .discount-code,
.discount-row.is-expired .discount-code{
  color:var(--steel-dim);
}
.discount-pct{
  font-family:'Rajdhani',sans-serif;
  font-weight:700;font-size:1.5rem;
  color:var(--white);text-align:center;
}
.discount-row.is-used .discount-pct,
.discount-row.is-expired .discount-pct{
  color:var(--steel-dim);
}
.discount-meta{
  font-size:0.78rem;color:var(--steel-dim);line-height:1.4;
}
.discount-meta b{color:var(--white);font-weight:600;}
.discount-status{
  font-family:'Rajdhani',sans-serif;
  font-size:0.7rem;font-weight:700;letter-spacing:1.5px;
  padding:4px 10px;border-radius:99px;
  background:rgba(47,214,234,0.1);color:var(--cyan);
  border:1px solid rgba(47,214,234,0.3);
  text-transform:uppercase;white-space:nowrap;
}
.discount-status.is-used{
  background:rgba(93,211,158,0.1);color:var(--pos);
  border-color:rgba(93,211,158,0.3);
}
.discount-status.is-expired{
  background:rgba(255,122,122,0.1);color:var(--neg);
  border-color:rgba(255,122,122,0.3);
}
.discount-empty{
  padding:18px;text-align:center;color:var(--steel-dim);
  font-style:italic;background:var(--bg);
  border:1px dashed var(--line);border-radius:4px;
}

/* Pole "kod rabatowy/polecający" w formularzu rezerwacji */
.field-with-hint .form-hint{
  font-size:0.75rem;color:var(--steel-dim);margin-top:-2px;
}

/* ============================================================
   PANE: HISTORIA + TABELE
   ============================================================ */
.sub-head{
  color:var(--white);font-family:'Rajdhani',sans-serif;
  font-size:1.2rem;font-weight:600;letter-spacing:1px;
  margin-bottom:14px;padding-top:8px;
}
.stats-row{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  margin-bottom:24px;
}
.stat-tile{
  background:var(--bg-panel);
  border:1px solid var(--line);
  border-top:2px solid var(--cyan-dim);
  border-radius:6px;padding:18px 22px;
}
.stat-num{
  color:var(--white);font-family:'Rajdhani',sans-serif;
  font-size:1.7rem;font-weight:700;line-height:1.1;
  letter-spacing:0.5px;
}
.stat-lab{
  color:var(--steel-dim);font-size:0.82rem;
  text-transform:uppercase;letter-spacing:1.5px;margin-top:4px;
}

.table-wrap{
  background:var(--bg-panel);
  border:1px solid var(--line);
  border-radius:6px;overflow:hidden;
}
.data-table{
  width:100%;border-collapse:collapse;
}
.data-table th, .data-table td{
  padding:13px 18px;text-align:left;
  font-size:0.9rem;
  border-bottom:1px solid var(--line);
}
.data-table th{
  background:var(--bg-panel-2);
  color:var(--cyan);font-family:'Rajdhani',sans-serif;
  font-weight:600;font-size:0.78rem;
  letter-spacing:1.8px;text-transform:uppercase;
}
.data-table tr:last-child td{border-bottom:none;}
.data-table tr:hover td{background:rgba(47,214,234,0.03);}
.data-table .num{text-align:right;font-variant-numeric:tabular-nums;}
.data-table .num.pos{color:var(--pos);}
.data-table .num.neg{color:var(--neg);}
.data-table .empty{
  text-align:center;color:var(--steel-dim);font-style:italic;padding:30px;
}

.badge{
  display:inline-block;padding:3px 10px;border-radius:99px;
  font-size:0.72rem;font-weight:600;letter-spacing:0.8px;
  text-transform:uppercase;
  border:1px solid;
}
.badge-ok{background:rgba(93,211,158,0.1);border-color:rgba(93,211,158,0.35);color:var(--pos);}
.badge-pos{background:rgba(93,211,158,0.1);border-color:rgba(93,211,158,0.35);color:var(--pos);}
.badge-neg{background:rgba(255,122,122,0.1);border-color:rgba(255,122,122,0.35);color:var(--neg);}

/* ============================================================
   FOOTER
   ============================================================ */
.panel-footer{
  border-top:1px solid var(--line);
  padding:22px 28px;text-align:center;
}
.panel-footer p{color:var(--steel-dim);font-size:0.82rem;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:960px){
  .panel-main{grid-template-columns:1fr;}
  .panel-side{position:static;flex-direction:row;flex-wrap:wrap;}
  .side-card{flex:1 1 240px;}
  .pane-grid{grid-template-columns:1fr;}
  .points-summary{grid-template-columns:1fr;}
  .rewards-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .form-row{grid-template-columns:1fr;}
  .panel-header-inner{flex-direction:column;align-items:flex-start;gap:12px;}
  .panel-user{width:100%;justify-content:space-between;}
  .stats-row{grid-template-columns:1fr;}
  .rewards-grid{grid-template-columns:1fr;}
  .data-table th,.data-table td{padding:10px 12px;font-size:0.85rem;}
  .login-card{padding:32px 24px 24px;}
  .tab{padding:12px 14px;font-size:0.95rem;}
  .ps-amount{font-size:2.4rem;}
  .cost-num{font-size:1.7rem;}
}