:root{
  --bg:#080b14;
  --bg2:#0d1222;
  --card:#11172a;
  --card2:#151d35;
  --line:rgba(255,255,255,.11);
  --text:#eef3ff;
  --muted:#96a3bd;
  --brand:#7c5cff;
  --brand2:#22d3ee;
  --ok:#34d399;
  --warn:#fbbf24;
  --danger:#fb7185;
  --shadow:0 24px 90px rgba(0,0,0,.38);
}

/* ── Light theme overrides ── */
[data-theme="light"]{
  --bg:#f5f7fb;
  --bg2:#ebeef5;
  --card:#ffffff;
  --card2:#f0f2f8;
  --line:rgba(0,0,0,.10);
  --text:#1a1d2e;
  --muted:#5a6478;
  --brand:#6c47ff;
  --brand2:#0ea5c9;
  --ok:#16a368;
  --warn:#d9960a;
  --danger:#e1365a;
  --shadow:0 24px 90px rgba(0,0,0,.08);
}
[data-theme="light"] body{
  background:
    radial-gradient(circle at 15% -10%,rgba(124,92,255,.08),transparent 34%),
    radial-gradient(circle at 86% 6%,rgba(14,165,201,.06),transparent 30%),
    linear-gradient(180deg,#f5f7fb,#eef0f6 45%,#f5f7fb);
}
[data-theme="light"] .topbar{
  background:rgba(255,255,255,.82);
}

/* ── Theme toggle button ── */
.theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--card);
  color:var(--text);
  font-size:17px;
  cursor:pointer;
  transition:background .3s,border-color .3s,transform .18s;
  flex-shrink:0;
}
.theme-toggle:hover{
  background:var(--card2);
  border-color:var(--brand);
  transform:scale(1.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 15% -10%,rgba(124,92,255,.28),transparent 34%),
    radial-gradient(circle at 86% 6%,rgba(34,211,238,.20),transparent 30%),
    linear-gradient(180deg,#080b14,#0b1020 45%,#080b14);
  min-height:100vh;
}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
.topbar{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;gap:18px;
  padding:14px 22px;
  background:rgba(8,11,20,.76);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}
.brand{
  display:flex;align-items:center;gap:11px;
  border:0;background:transparent;color:var(--text);
  padding:0;margin:0;text-align:left;
}
.brand-mark{
  width:40px;height:40px;border-radius:14px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  font-weight:900;color:#fff;box-shadow:0 10px 30px rgba(124,92,255,.38);
}
.brand b{display:block;font-size:16px}
.brand small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.nav{display:flex;gap:6px;align-items:center;flex:1;overflow:auto}
.nav-link{
  border:1px solid transparent;
  background:transparent;color:var(--muted);
  padding:10px 12px;border-radius:13px;
  white-space:nowrap;transition:.15s;
}
.nav-link.active,.nav-link:hover{background:#202845;color:var(--text);border-color:rgba(255,255,255,.08)}
.user-box{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;white-space:nowrap}
.shell{max-width:1180px;margin:0 auto;padding:34px 18px 84px}
.page{display:none}.page.active{display:block}
.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:26px;align-items:stretch}
.eyebrow{margin:0 0 8px;color:var(--brand2);font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.hero h1,.page-head h2{font-size:clamp(30px,5vw,58px);line-height:1.02;margin:0 0 16px;letter-spacing:-.05em}
.lead{font-size:18px;line-height:1.7;color:var(--muted);max-width:720px}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid var(--line);background:#202845;color:var(--text);
  border-radius:13px;text-decoration:none;padding:11px 15px;
  min-height:42px;transition:all 0.3s cubic-bezier(0.25,0.8,0.25,1);
  box-shadow:0 2px 8px rgba(0,0,0,0.1);
}
.btn:hover{transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 8px 16px rgba(0,0,0,0.25)}
.btn:active{transform:translateY(4px) scale(0.96);filter:brightness(0.9);box-shadow:0 0 2px rgba(0,0,0,0.1)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none;box-shadow:none}
.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));border:0;color:#fff;font-weight:900;box-shadow:0 4px 14px rgba(124,92,255,0.3)}
.btn.primary:hover{box-shadow:0 10px 24px rgba(124,92,255,0.5)}
.btn.ghost{background:transparent}
.btn.small{padding:8px 10px;border-radius:10px;font-size:13px;min-height:34px}
.btn.danger{background:#3a1b2a;border-color:#61283d;color:#fecdd3}
.btn.ok{background:rgba(52,211,153,.14);border-color:rgba(52,211,153,.32);color:#a7f3d0}
.btn.loading { position: relative; color: transparent !important; pointer-events: none; }
.btn.loading::after { content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; border: 2px solid rgba(255,255,255,0.3); border-radius: 50%; border-top-color: #fff; animation: spin 0.8s linear infinite; transform: translate(-50%, -50%); margin-top: -9px; margin-left: -9px; }
@keyframes spin { to { transform: rotate(360deg); } }
.hero-card,.panel,.feature-grid article,.steps article{
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.028));
  border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow);
}
.glass-card{position:relative;overflow:hidden}
.glass-card:before{content:"";position:absolute;inset:auto -60px -90px auto;width:220px;height:220px;background:radial-gradient(circle,rgba(34,211,238,.18),transparent 67%);border-radius:50%}
.hero-card h3,.panel h3{margin:0 0 16px;font-size:20px}
.flow{display:flex;gap:12px;align-items:center;padding:12px 0;color:var(--muted);border-bottom:1px solid rgba(255,255,255,.06)}
.flow:last-child{border-bottom:0}
.flow span,.steps span{
  flex:0 0 30px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:rgba(124,92,255,.18);color:#d7d2ff;font-weight:900;
}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
.feature-grid p,.panel p,.steps p{color:var(--muted);line-height:1.55}
.page-head{margin-bottom:20px}.page-head.row,.row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.steps article h3{margin:12px 0 6px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.drive-line{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.drive-line:last-child{border-bottom:0}.hint{font-size:13px;color:var(--muted)}
label{display:block;margin:14px 0 6px;color:#c8d0e9;font-weight:700;font-size:14px}
input,textarea,select{width:100%;background:#0c1020;border:1px solid var(--line);border-radius:14px;color:var(--text);padding:12px 14px;outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(34,211,238,.12)}
textarea{min-height:180px;resize:vertical}.radio-grid{display:grid;gap:8px}.radio-grid label{display:flex;gap:8px;align-items:center;margin:0;padding:11px;border:1px solid var(--line);border-radius:14px;background:#0c1020}.radio-grid input{width:auto}.tool-box{margin-bottom:16px}.result-panel strong{font-size:28px}.progress{height:12px;background:#0c1020;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin:14px 0}#jobBar{height:100%;width:0;background:linear-gradient(90deg,var(--brand),var(--brand2));transition:width .2s}.log{background:#070a13;border:1px solid var(--line);border-radius:16px;padding:14px;min-height:180px;max-height:340px;overflow:auto;color:#ccd6f6;white-space:pre-wrap}.list{display:grid;gap:10px}.item{border:1px solid var(--line);background:#0c1020;border-radius:16px;padding:14px}.item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;background:#202845;color:#dbe3ff;margin:2px 3px 2px 0}.badge.completed,.badge.approved,.badge.active{background:rgba(52,211,153,.18);color:#a7f3d0}.badge.error,.badge.rejected,.badge.locked{background:rgba(251,113,133,.18);color:#fecdd3}.badge.running,.badge.pending{background:rgba(34,211,238,.15);color:#c9f7ff}.badge.admin{background:rgba(124,92,255,.23);color:#ddd6fe}.compact .item{padding:10px}
#toast {position:fixed;right:22px;bottom:22px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none;}
.toast-item {pointer-events:auto;background:rgba(17,23,42,0.95);backdrop-filter:blur(8px);border:1px solid var(--line);box-shadow:0 10px 25px -5px rgba(0,0,0,0.5);border-radius:12px;padding:12px 16px;max-width:360px;display:flex;align-items:center;gap:10px;color:#fff;font-weight:500;transform:translateX(120%);opacity:0;transition:all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);}
.toast-item.show {transform:translateX(0);opacity:1;}
.toast-item.success {border-left:4px solid #10b981;}
.toast-item.error {border-left:4px solid #ef4444;}
.toast-item.warning {border-left:4px solid #f59e0b;}
.toast-item.info {border-left:4px solid #3b82f6;}
.toast-item .toast-msg {line-height:1.4;word-break:break-word;}
[hidden]{display:none!important}
.balance-pill{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:999px;padding:12px 16px;color:var(--muted)}.balance-pill b{color:var(--text)}
.plans{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.plan-card{position:relative;overflow:hidden;min-height:335px;display:flex;flex-direction:column;gap:16px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:22px;box-shadow:var(--shadow)}.plan-card::before{content:"";position:absolute;inset:-80px -80px auto auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.18),transparent 65%)}.plan-card.recommended{border-color:rgba(34,211,238,.55);box-shadow:0 24px 90px rgba(34,211,238,.12)}.plan-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;position:relative}.plan-name{font-size:22px;font-weight:900}.plan-desc{margin:6px 0 0;color:var(--muted);font-size:13px}.plan-price{font-size:30px;font-weight:900;letter-spacing:-.04em;position:relative}.plan-price small{display:block;font-size:13px;color:var(--muted);font-weight:700;letter-spacing:0;margin-top:3px}.plan-features{display:grid;gap:9px;margin:0;padding:0;list-style:none;color:#dbeafe}.plan-features li{display:flex;align-items:center;gap:9px}.plan-features li::before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(52,211,153,.18);color:#a7f3d0;font-size:12px;font-weight:900}.plan-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.plan-card .buy-plan{width:100%;margin-top:6px}.ribbon{position:absolute;right:16px;top:16px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:white;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;z-index:2}.ribbon.soft{background:rgba(251,191,36,.18);color:#fde68a;border:1px solid rgba(251,191,36,.28)}
.topup-layout{align-items:start}.qr-wrap{margin:14px auto 18px;min-height:240px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:22px;background:rgba(255,255,255,.035);overflow:hidden}.qr-wrap img{display:block;max-width:260px;width:100%;height:auto;background:white;border-radius:18px;padding:10px}.qr-placeholder{color:var(--muted);padding:26px;text-align:center}.payment-public-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.payment-public-info div{padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.04)}.payment-public-info span,.admin-edit-summary span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.payment-public-info b{word-break:break-word}.copy-pay{padding:6px 10px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(6px);z-index:100;display:grid;place-items:center;padding:20px;overflow-y:auto}.modal[hidden]{display:none}.modal-content{width:100%;max-width:430px;padding:24px;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.modal-header h3{margin:0;font-size:24px}.w-full{width:100%}.mt-3{margin-top:16px}.text-center{text-align:center}.divider{display:flex;align-items:center;margin:24px 0;color:var(--muted);font-size:12px;font-weight:700}.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}.divider span{padding:0 12px}.close-auth{width:32px;height:32px;padding:0;border-radius:50%;display:grid;place-items:center}.auth-forms a{color:var(--brand2);text-decoration:none;font-weight:700}.google-btn{justify-content:center;background:#0c1020}
.admin-page .page-head h2{font-size:clamp(30px,4vw,46px)}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stat-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border-radius:20px;padding:16px}.stat-card b{display:block;font-size:23px}.stat-card span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.admin-panel{margin-bottom:16px}.admin-toolbar{align-items:flex-end}.admin-search{max-width:360px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px}.admin-table{width:100%;border-collapse:collapse;min-width:920px;background:#0c1020}.admin-table th,.admin-table td{padding:13px 12px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left;vertical-align:top}.admin-table th{color:#c8d0e9;font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.035)}.admin-table tr:last-child td{border-bottom:0}.user-main b{display:block}.user-main small{color:var(--muted)}.admin-lower{align-items:start}.admin-edit-modal{max-width:780px}.admin-edit-summary{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:10px;margin-bottom:16px}.admin-edit-summary div{border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:16px;padding:13px;min-width:0}.admin-edit-summary b{word-break:break-word}.edit-section{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025);border-radius:18px;padding:16px;margin-top:12px}.edit-section h4{margin:0 0 10px;font-size:17px}.inline-control{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
@media(max-width:1180px){.plans{grid-template-columns:repeat(3,1fr)}.admin-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.topbar{align-items:flex-start;flex-direction:column}.user-box{width:100%;justify-content:space-between;flex-wrap:wrap}.hero,.grid-2{grid-template-columns:1fr}.feature-grid,.steps{grid-template-columns:1fr}.nav{width:100%;overflow:auto}.page-head.row,.row{align-items:flex-start;flex-direction:column}.admin-search{max-width:none}.admin-stats{grid-template-columns:repeat(2,1fr)}.plans{grid-template-columns:repeat(2,1fr)}.admin-edit-summary{grid-template-columns:1fr}.inline-control{grid-template-columns:1fr}}
@media(max-width:720px){.plans{grid-template-columns:1fr}.payment-public-info{grid-template-columns:1fr}.admin-stats{grid-template-columns:1fr}.shell{padding-inline:14px}.topbar{padding-inline:14px}.modal{padding:12px}}
/* Premium Auth Modal */
#authModal .modal-content.panel {
  background: linear-gradient(145deg, rgba(30, 38, 64, 0.95), rgba(12, 16, 32, 0.95));
  border: 1px solid rgba(124,92,255,0.35);
  box-shadow: 0 25px 80px rgba(0,0,0,0.8), inset 0 1px 0 rgba(255,255,255,0.1);
  border-radius: 28px;
  backdrop-filter: blur(20px);
}
#authModal .modal-header h3 {
  font-size: 28px;
  font-weight: 900;
  background: linear-gradient(135deg, #fff, #a5b4fc);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.auth-forms form { display: flex; flex-direction: column; gap: 4px; }
.auth-forms label { margin-top: 10px; font-size: 13px; color: #a5b4fc; text-transform: uppercase; letter-spacing: 0.05em; }
.auth-forms input { padding: 14px 16px; background: rgba(0,0,0,0.25); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; font-size: 15px; transition: all 0.2s; }
.auth-forms input:focus { background: rgba(0,0,0,0.45); border-color: var(--brand); box-shadow: 0 0 0 4px rgba(124,92,255,0.15); }
.google-btn { background: #fff !important; color: #000 !important; font-weight: 800; border-radius: 14px; padding: 14px; }
.google-btn:hover { background: #f1f5f9 !important; transform: translateY(-2px); box-shadow: 0 10px 20px rgba(0,0,0,0.2); }

/* ================================================================
   COOKIE PANEL — Luồng Bóc Link Hộ
   ================================================================ */
.cookie-panel {
  border: 1px solid rgba(124, 92, 255, 0.25);
  background: linear-gradient(135deg, rgba(124,92,255,0.06), rgba(34,211,238,0.04));
  position: relative;
  overflow: hidden;
}
.cookie-panel::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--brand), var(--brand2));
  border-radius: 8px 8px 0 0;
}
.cookie-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.cookie-header h3 { margin: 0 0 4px; }
.cookie-header .hint { margin: 0; max-width: 600px; }
.cookie-actions { flex-shrink: 0; }
.cookie-textarea {
  width: 100%;
  min-height: 110px;
  max-height: 220px;
  padding: 12px 16px;
  background: rgba(0,0,0,0.3);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  color: var(--text);
  font-family: 'Cascadia Code', 'Fira Code', 'Courier New', monospace;
  font-size: 12px;
  line-height: 1.5;
  resize: vertical;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.cookie-textarea:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(124,92,255,0.2);
}
.cookie-textarea::placeholder {
  color: rgba(150,163,189,0.5);
  font-family: inherit;
}
.cookie-status {
  margin-top: 8px;
  font-size: 12px;
  min-height: 20px;
}
.cookie-ok { color: #34d399; }
.cookie-warn { color: #fbbf24; }
.cookie-err { color: #fb7185; }

/* Tool box subtle refresh */
.tool-box { margin-top: 0; }
.tool-box .hint { margin-top: 0; margin-bottom: 8px; font-size: 12px; }

/* Result actions */
#resultActions { display: flex; flex-direction: column; gap: 10px; }

/* =========================================
   NEW UI ELEMENTS (MODE SELECTOR & GUIDE)
   ========================================= */

/* Mode Selector */
.mode-selector {
  display: flex;
  gap: 16px;
  margin-bottom: 24px;
}
.mode-btn {
  flex: 1;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  text-align: left;
  transition: all 0.2s;
}
.mode-btn:hover {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.05);
}
.mode-btn.active {
  border-color: var(--brand);
  background: rgba(124, 92, 255, 0.05);
  box-shadow: 0 4px 12px rgba(124, 92, 255, 0.15);
}
.mode-icon {
  font-size: 24px;
  line-height: 1;
  background: rgba(255,255,255,0.05);
  padding: 10px;
  border-radius: 10px;
}
.mode-btn.active .mode-icon {
  background: rgba(124, 92, 255, 0.15);
}
.mode-btn div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mode-btn b {
  color: var(--text);
  font-size: 16px;
}
.mode-btn small {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

/* UpDrive Panel */
.updrive-panel {
  margin-bottom: 24px;
  border: 1px solid var(--brand);
  background: linear-gradient(145deg, rgba(124,92,255,0.05), rgba(0,0,0,0));
}
.drive-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: rgba(255,255,255,0.03);
  border-radius: 8px;
  margin-bottom: 8px;
}
.drive-line b { display: block; font-size: 14px; margin-bottom: 2px; }
.drive-line p { margin: 0; font-size: 12px; color: var(--muted); }
.inline-control {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}
.inline-control input { flex: 1; }

/* Guide Steps (3-step premium card) */
.guide-steps {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top: 24px;
}
.guide-step {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  background: var(--surface);
  border-radius: 24px;
  padding: 32px;
  border: 1px solid var(--line);
}
.guide-step.reverse {
  grid-template-columns: 1fr 1fr;
}
.guide-step.reverse .step-content {
  order: 2;
}
.guide-step.reverse .step-image {
  order: 1;
}

.step-badge {
  display: inline-block;
  padding: 6px 12px;
  background: rgba(124, 92, 255, 0.1);
  color: var(--brand);
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}
.step-badge.accent {
  background: rgba(0, 184, 148, 0.1);
  color: #00b894;
}

.step-content h3 {
  font-size: 24px;
  margin-bottom: 16px;
  color: var(--text);
}
.step-content p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 24px;
}

.step-tips {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}
.tip {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--text);
}

.step-image {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(0,0,0,0.3);
  border: 1px solid rgba(255,255,255,0.05);
}
.step-image img {
  width: 100%;
  height: auto;
  display: block;
}
.step-cta {
  display: inline-flex;
  text-decoration: none;
}

.guide-note {
  margin-top: 40px;
  padding: 24px;
  background: linear-gradient(90deg, rgba(124,92,255,0.1), rgba(0,184,148,0.05));
  border-radius: 16px;
  display: flex;
  align-items: center;
  gap: 20px;
  border: 1px solid rgba(124,92,255,0.2);
}
.guide-note span {
  font-size: 32px;
}
.guide-note b {
  display: block;
  font-size: 16px;
  color: var(--text);
  margin-bottom: 4px;
}
.guide-note p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

/* Responsive */
@media (max-width: 900px) {
  .guide-step {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 24px;
  }
  .guide-step.reverse .step-content {
    order: 1;
  }
  .guide-step.reverse .step-image {
    order: 2;
  }
}

/* ================================================================
   PROGRESS META — Speed & ETA
   ================================================================ */
.progress-meta {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  font-size: 12px;
  color: var(--muted);
  font-family: 'SF Mono', 'Fira Code', monospace;
}
.progress-meta span {
  padding: 4px 10px;
  background: rgba(255,255,255,0.04);
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.06);
}

/* ================================================================
   PLAN CARDS — Premium Redesign
   ================================================================ */
.plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.plan-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 28px 24px;
  position: relative;
  transition: transform 0.2s, box-shadow 0.2s;
  overflow: hidden;
}
.plan-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(124,92,255,0.15); }
.plan-card.recommended {
  border-color: rgba(124,92,255,0.5);
  box-shadow: 0 0 30px rgba(124,92,255,0.12);
  transform: scale(1.03);
}
.plan-card.recommended:hover { transform: scale(1.05) translateY(-4px); }
.plan-card .ribbon {
  position: absolute; top: 16px; right: -30px;
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  color: #fff; font-size: 11px; font-weight: 800;
  padding: 4px 36px; transform: rotate(45deg);
  letter-spacing: 0.05em;
}
.plan-card .ribbon.soft { background: rgba(52,211,153,0.2); color: var(--ok); }
.plan-name { font-size: 20px; font-weight: 800; margin-bottom: 4px; }
.plan-desc { color: var(--muted); font-size: 13px; margin: 0; }
.plan-price { font-size: 32px; font-weight: 900; margin: 20px 0 6px; background: linear-gradient(135deg, var(--brand), var(--brand2)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.plan-price small { font-size: 14px; font-weight: 500; -webkit-text-fill-color: var(--muted); }
.plan-features { list-style: none; padding: 0; margin: 16px 0; }
.plan-features li { padding: 6px 0; font-size: 14px; color: var(--muted); display: flex; align-items: center; gap: 8px; }
.plan-features li::before { content: '✓'; color: var(--ok); font-weight: 700; }
.plan-meta { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; }

/* ================================================================
   DASHBOARD STATS — Thành Tích Cá Nhân
   ================================================================ */
.stats-dashboard { margin-top: 40px; padding-top: 30px; border-top: 1px solid var(--line); }
.stats-title { font-size: 20px; font-weight: 800; margin-bottom: 20px; color: var(--text); }
.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.stat-card {
  background: var(--card); border: 1px solid var(--line); border-radius: 16px;
  padding: 20px; display: flex; flex-direction: column; gap: 8px;
  transition: transform 0.2s; box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
.stat-card:hover { transform: translateY(-3px); border-color: rgba(124,92,255,0.4); }
.stat-card.savings { background: linear-gradient(135deg, rgba(52,211,153,0.1), rgba(0,184,148,0.05)); border-color: rgba(52,211,153,0.3); }
.stat-card.savings:hover { border-color: rgba(52,211,153,0.6); }
.stat-icon { font-size: 24px; }
.stat-value { font-size: 28px; font-weight: 900; line-height: 1; letter-spacing: -0.03em; }
.stat-card.savings .stat-value { background: linear-gradient(135deg, #34d399, #10b981); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.stat-label { font-size: 13px; color: var(--muted); font-weight: 500; }

/* ================================================================
   FOLDER TREE VIEW
   ================================================================ */
.tree-container {
  max-height: 400px; overflow-y: auto;
  border: 1px solid var(--line); border-radius: 8px;
  background: rgba(0,0,0,0.2); padding: 10px; margin-top: 10px;
}
.tree-item { display: flex; align-items: center; gap: 8px; padding: 6px; border-radius: 6px; }
.tree-item:hover { background: rgba(255,255,255,0.05); }
.tree-item.folder { font-weight: bold; color: var(--brand2); }
.tree-item.file { color: var(--text); }
.tree-item input[type="checkbox"] { width: 16px; height: 16px; cursor: pointer; accent-color: var(--brand); }
.tree-indent { display: inline-block; width: 24px; }

/* ================================================================
   PROGRESS META (ETA & SPEED)
   ================================================================ */
.progress-meta {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  font-size: 12px;
  color: var(--muted);
  font-family: 'SF Mono', 'Fira Code', monospace;
}
.progress-meta span {
  padding: 4px 10px;
  background: rgba(255,255,255,0.04);
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.06);
}
