/* ═══════════════════════════════════════════
   DAPITA Core Dashboard — v16
   1:1 from approved prototype
═══════════════════════════════════════════ */

/* ═══ TOKENS ═══ */
:root{
  --p:#9b4dca;--ph:#7c3aed;--c:#5bc0de;--o:#e67e22;
  --ok:#10b981;--danger:#ef4444;--warn:#f59e0b;--info:#3b82f6;
  --r:18px;--rsm:12px;--rxs:8px;
  --sw:240px;--hh:56px;
  --brand-purple:#9b4dca;--brand-cyan:#5bc0de;--brand-orange:#e67e22;
}
[data-theme="dark"]{
  --bg:#0d1117;--bg2:#161b22;
  --glass:rgba(255,255,255,0.06);--gs:rgba(255,255,255,0.10);--gb:rgba(255,255,255,0.10);
  --glass-border:rgba(255,255,255,0.10);--glass-strong:rgba(255,255,255,0.10);
  --cb:rgba(22,27,34,0.85);--tx:#e6edf3;--text:#e6edf3;
  --mu:#8b949e;--muted:#8b949e;
  --glow-p:rgba(155,77,202,0.22);--glow-c:rgba(91,192,222,0.15);--glow-o:rgba(230,126,34,0.10);
  --gp:rgba(155,77,202,0.22);--gc:rgba(91,192,222,0.15);
  --card-bg:rgba(255,255,255,0.03);
  --shadow:0 24px 64px rgba(0,0,0,0.6);
}
[data-theme="light"]{
  --bg:#e8edf4;--bg2:#dde3ec;
  --glass:rgba(255,255,255,0.68);--gs:rgba(255,255,255,0.90);--gb:rgba(0,0,0,0.09);
  --glass-border:rgba(0,0,0,0.09);--glass-strong:rgba(255,255,255,0.90);
  --cb:rgba(255,255,255,0.78);--tx:#0f172a;--text:#0f172a;
  --mu:#64748b;--muted:#64748b;
  --glow-p:rgba(155,77,202,0.12);--glow-c:rgba(91,192,222,0.10);--glow-o:rgba(230,126,34,0.08);
  --gp:rgba(155,77,202,0.12);--gc:rgba(91,192,222,0.10);
  --card-bg:rgba(255,255,255,0.55);
  --shadow:0 24px 64px rgba(15,23,42,0.18);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:14px;line-height:1.5;color:var(--tx);
  background:var(--bg);min-height:100vh;
  -webkit-font-smoothing:antialiased;
  position:relative;overflow-x:hidden;
}

/* ═══ BACKGROUND FX (3 layers) ═══ */
.bgfx{position:fixed;inset:0;pointer-events:none;z-index:0;}
.bgfx::before{content:'';position:absolute;width:900px;height:700px;top:-250px;left:-200px;background:radial-gradient(circle,var(--glow-p) 0%,transparent 65%);}
.bgfx::after{content:'';position:absolute;width:700px;height:600px;bottom:-150px;right:-150px;background:radial-gradient(circle,var(--glow-c) 0%,transparent 65%);}
.bgfx-o{position:fixed;width:500px;height:500px;top:40%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,var(--glow-o) 0%,transparent 60%);pointer-events:none;z-index:0;filter:blur(40px);}
.bgrid{position:fixed;inset:0;background-image:linear-gradient(rgba(155,77,202,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(155,77,202,0.03) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;z-index:0;}

/* ═══ HEADER ═══ */
.hdr{
  position:fixed;top:10px;left:10px;right:10px;height:var(--hh);
  background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--gb);border-radius:16px;
  display:flex;align-items:center;padding:0 18px;gap:14px;z-index:100;
  box-shadow:0 1px 0 var(--gb),inset 0 -1px 0 rgba(155,77,202,0.10);
}
.hdr-ham{
  width:32px;height:32px;display:none;align-items:center;justify-content:center;
  background:var(--glass);border:1px solid var(--gb);border-radius:8px;
  cursor:pointer;color:var(--tx);padding:0;
}
.hdr-ham svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.hdr-logo{
  width:32px;height:32px;border-radius:9px;
  background:linear-gradient(135deg,var(--p),var(--c));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:13px;
  box-shadow:0 0 14px rgba(155,77,202,0.45);flex-shrink:0;
  text-decoration:none;
}
.hdr-title{font-weight:800;font-size:16px;color:var(--tx);letter-spacing:-0.3px;text-decoration:none;}
.hdr-title span{background:linear-gradient(135deg,var(--p),var(--c));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hdr-sep{width:1px;height:26px;background:var(--gb);}
.hdr-bundle{
  display:none;align-items:center;gap:8px;padding:5px 12px;
  background:linear-gradient(135deg,rgba(155,77,202,0.15),rgba(91,192,222,0.10));
  border:1px solid rgba(155,77,202,0.3);border-radius:100px;
  font-size:11px;font-weight:700;color:var(--tx);text-transform:uppercase;letter-spacing:0.5px;
}
.hdr-bundle.show{display:flex;}
.hdr-bundle-dot{width:6px;height:6px;border-radius:50%;background:var(--p);box-shadow:0 0 6px var(--p);}
.hdr-bundle-dot.dot-c{background:var(--c);box-shadow:0 0 6px var(--c);}
.hdr-bundle-dot.dot-ok{background:var(--ok);box-shadow:0 0 6px var(--ok);}
.hdr-r{margin-left:auto;display:flex;align-items:center;gap:8px;}
.hdr-btn{
  width:36px;height:36px;border-radius:var(--rxs);
  background:var(--glass);border:1px solid var(--gb);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:var(--mu);transition:all 0.15s;
  text-decoration:none;position:relative;padding:0;
}
.hdr-btn:hover{background:var(--gs);border-color:var(--p);color:var(--tx);}
.hdr-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.theme-tog{display:flex;background:var(--glass);border:1px solid var(--gb);border-radius:100px;padding:3px;gap:2px;}
.ttbtn{padding:5px 12px;border-radius:100px;font-size:11px;font-weight:600;cursor:pointer;border:none;background:none;color:var(--mu);transition:all 0.15s;font-family:inherit;}
.ttbtn.on{background:linear-gradient(135deg,var(--p),var(--c));color:#fff;}
.hdr-user{
  display:flex;align-items:center;gap:9px;padding:5px 12px 5px 5px;
  background:var(--glass);border:1px solid var(--gb);border-radius:100px;
  cursor:pointer;transition:all 0.15s;
}
.hdr-user:hover{border-color:var(--p);background:var(--gs);}
.hdr-ava{
  width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,var(--p),var(--c));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:11px;flex-shrink:0;
}
.hdr-user-info{display:flex;flex-direction:column;line-height:1.2;}
.hdr-user-name{font-size:12px;font-weight:600;color:var(--tx);}
.hdr-user-role{font-size:10px;color:var(--mu);text-transform:capitalize;}

/* ═══ APP LAYOUT ═══ */
.app{display:flex;padding-top:calc(var(--hh) + 20px);min-height:100vh;position:relative;z-index:1;}

/* ═══ SIDEBAR ═══ */
.sidebar{
  width:var(--sw);flex-shrink:0;
  position:fixed;left:10px;top:calc(var(--hh) + 20px);
  height:calc(100vh - var(--hh) - 30px);
  background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--gb);border-radius:var(--r);
  padding:14px 10px 12px;display:flex;flex-direction:column;
  box-shadow:inset -1px 0 0 rgba(155,77,202,0.06);
  transition:left 0.25s ease;
}
.sb-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding-right:2px;}
.sb-scroll::-webkit-scrollbar{width:5px;}
.sb-scroll::-webkit-scrollbar-thumb{background:var(--gb);border-radius:3px;}
.nav-lbl{
  font-size:10px;text-transform:uppercase;letter-spacing:1px;
  color:var(--mu);padding:6px 10px 4px;font-weight:700;
  white-space:nowrap;overflow:hidden;
}
.ni{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;border-radius:var(--rxs);margin-bottom:2px;
  cursor:pointer;color:var(--mu);font-size:13px;font-weight:500;
  transition:all 0.15s;text-decoration:none;user-select:none;
}
.ni:hover{background:var(--gs);color:var(--tx);}
.ni.on{
  background:linear-gradient(135deg,rgba(155,77,202,0.18),rgba(155,77,202,0.08));
  color:var(--p);font-weight:600;
  box-shadow:inset 0 0 0 1px rgba(155,77,202,0.22),0 0 12px rgba(155,77,202,0.07);
}
.ni svg{width:16px;height:16px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.ni-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ni-badge{
  margin-left:auto;font-size:10px;padding:2px 7px;border-radius:100px;
  background:rgba(239,68,68,0.16);color:var(--danger);font-weight:700;flex-shrink:0;
}
.ni-badge.ok{background:rgba(16,185,129,0.15);color:var(--ok);}
.ni-badge.warn{background:rgba(245,158,11,0.15);color:var(--warn);}
.ni-badge.mu{background:var(--glass);color:var(--mu);border:1px solid var(--gb);}
.nav-sec{height:1px;background:var(--gb);margin:10px 4px;}

.sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:140;display:none;}
.sidebar-overlay.open{display:block;}

/* ═══ MAIN ═══ */
.main{
  margin-left:calc(var(--sw) + 20px);flex:1;
  padding:10px 24px 40px;
  transition:margin-left 0.25s ease;position:relative;z-index:1;
}
.page{display:none;}
.page.active{display:block;}
.page-title{font-size:24px;font-weight:800;color:var(--tx);letter-spacing:-0.5px;margin-bottom:20px;}
.pg-hdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap;}
.pg-sub{font-size:13px;color:var(--mu);margin-top:4px;}

/* ═══ BUTTONS ═══ */
.btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 16px;border-radius:var(--rxs);
  font-size:13px;font-weight:600;cursor:pointer;
  border:1px solid var(--gb);background:var(--glass);color:var(--tx);
  transition:all 0.15s;white-space:nowrap;font-family:inherit;text-decoration:none;
}
.btn:hover{background:var(--gs);border-color:var(--p);}
.btn-primary,.btn-p{
  background:linear-gradient(135deg,var(--p),var(--c));color:#fff;
  border:1px solid transparent;box-shadow:0 0 16px rgba(155,77,202,0.32);
}
.btn-primary:hover,.btn-p:hover{opacity:0.9;box-shadow:0 0 24px rgba(155,77,202,0.5);border-color:transparent;}
.btn-cyan{
  background:linear-gradient(135deg,var(--c),#3b9fc4);color:#fff;
  border:1px solid transparent;box-shadow:0 0 16px rgba(91,192,222,0.32);
}
.btn-cyan:hover{opacity:0.9;border-color:transparent;}
.btn-o{
  background:linear-gradient(135deg,var(--o),var(--warn));color:#fff;
  border:1px solid transparent;box-shadow:0 0 16px rgba(230,126,34,0.32);
}
.btn-o:hover{opacity:0.9;border-color:transparent;}
.btn-danger{
  background:rgba(239,68,68,0.10);color:var(--danger);
  border:1px solid rgba(239,68,68,0.30);
}
.btn-danger:hover{background:rgba(239,68,68,0.20);border-color:rgba(239,68,68,0.50);}
.btn-warning{
  background:rgba(245,158,11,0.10);color:var(--warn);
  border:1px solid rgba(245,158,11,0.30);
}
.btn-warning:hover{background:rgba(245,158,11,0.20);}
.btn-success{
  background:rgba(16,185,129,0.10);color:var(--ok);
  border:1px solid rgba(16,185,129,0.30);
}
.btn-success:hover{background:rgba(16,185,129,0.20);}
.btn-sm,.btn-small{padding:6px 11px;font-size:11px;}
.btn-row{display:flex;gap:8px;flex-wrap:wrap;}
.btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

/* ═══ STATS ═══ */
.stats,.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;}
.sc,.stat-card{
  background:var(--cb);border:1px solid var(--gb);border-radius:var(--rsm);
  padding:18px 18px 14px;position:relative;overflow:hidden;
}
.sc.np,.stat-card.np{border-color:rgba(155,77,202,0.30);box-shadow:0 0 0 1px rgba(155,77,202,0.10),0 0 22px rgba(155,77,202,0.08);}
.sc.nc,.stat-card.nc{border-color:rgba(91,192,222,0.30);box-shadow:0 0 0 1px rgba(91,192,222,0.10),0 0 22px rgba(91,192,222,0.08);}
.sc.ng,.stat-card.ng{border-color:rgba(16,185,129,0.30);box-shadow:0 0 0 1px rgba(16,185,129,0.10),0 0 22px rgba(16,185,129,0.08);}
.sc.nw,.stat-card.nw{border-color:rgba(245,158,11,0.30);box-shadow:0 0 0 1px rgba(245,158,11,0.10),0 0 22px rgba(245,158,11,0.08);}
.sc-lbl,.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:0.5px;color:var(--mu);font-weight:700;margin-bottom:8px;}
.sc-val,.stat-value{
  font-size:28px;font-weight:800;letter-spacing:-0.5px;line-height:1;
  background:linear-gradient(135deg,var(--p),var(--c));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}

/* ═══ CARDS ═══ */
.card{
  background:var(--cb);border:1px solid var(--gb);border-radius:var(--rsm);
  padding:18px;margin-bottom:18px;
}
.card-title{
  font-size:11px;font-weight:700;color:var(--mu);
  text-transform:uppercase;letter-spacing:0.5px;
  display:flex;align-items:center;gap:6px;margin-bottom:14px;
}
.card-title::before{
  content:'';display:inline-block;width:3px;height:12px;
  background:linear-gradient(180deg,var(--p),var(--c));
  border-radius:2px;box-shadow:0 0 5px rgba(155,77,202,0.5);
}

/* ═══ TABLE ═══ */
.table{width:100%;border-collapse:collapse;font-size:12px;}
.table th{
  text-align:left;padding:9px 12px;color:var(--mu);
  font-size:10px;text-transform:uppercase;letter-spacing:0.5px;font-weight:700;
  border-bottom:1px solid var(--gb);background:var(--glass);
}
.table td{padding:10px 12px;border-bottom:1px solid var(--gb);color:var(--tx);}
.table tr:last-child td{border-bottom:none;}
.table tr:hover td{background:var(--glass);}
.empty{text-align:center;color:var(--mu);padding:24px 12px;}
.license-key{font-family:'SF Mono',Menlo,monospace;font-size:11px;color:var(--c);}
.badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.3px;}
.badge.active{background:rgba(16,185,129,0.15);color:var(--ok);}
.badge.pending{background:rgba(245,158,11,0.15);color:var(--warn);}
.badge.suspended{background:rgba(239,68,68,0.15);color:var(--danger);}
.badge.expired{background:rgba(139,148,158,0.18);color:var(--mu);}
.badge.paid,.badge.succeeded,.badge.completed{background:rgba(16,185,129,0.15);color:var(--ok);}
.badge.refunded{background:rgba(139,148,158,0.18);color:var(--mu);}
.badge.failed{background:rgba(239,68,68,0.15);color:var(--danger);}
.badge.open{background:rgba(59,130,246,0.15);color:var(--info);}
.badge.closed{background:rgba(139,148,158,0.18);color:var(--mu);}
.actions-cell{white-space:nowrap;}
.actions-cell .btn{margin-right:4px;}
.license-details td{background:var(--glass);padding:16px 18px;}
.details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:14px;}
.details-field{padding:8px 10px;background:var(--cb);border:1px solid var(--gb);border-radius:var(--rxs);}
.details-field-label{font-size:10px;text-transform:uppercase;color:var(--mu);font-weight:700;margin-bottom:3px;letter-spacing:0.4px;}
.details-field-value{font-size:13px;color:var(--tx);font-weight:600;}
.details-section-title{font-size:11px;text-transform:uppercase;color:var(--mu);font-weight:700;letter-spacing:0.5px;margin:14px 0 10px;}
.sub-table{width:100%;border-collapse:collapse;font-size:11px;}
.sub-table th{text-align:left;padding:6px 10px;color:var(--mu);font-size:10px;text-transform:uppercase;border-bottom:1px solid var(--gb);}
.sub-table td{padding:7px 10px;border-bottom:1px solid var(--gb);}
.installations-list{background:var(--cb);border:1px solid var(--gb);border-radius:var(--rxs);overflow:hidden;}

/* ═══ EXPIRY WARNINGS ═══ */
.expiry-warning{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;margin-bottom:10px;border-radius:var(--rxs);
  background:var(--glass);border:1px solid var(--gb);font-size:13px;
}
.expiry-warning.danger{border-color:rgba(239,68,68,0.40);background:rgba(239,68,68,0.08);color:var(--tx);}
.expiry-warning.warn{border-color:rgba(245,158,11,0.40);background:rgba(245,158,11,0.06);color:var(--tx);}
.expiry-warning code{background:var(--glass);padding:1px 6px;border-radius:4px;font-family:'SF Mono',monospace;font-size:11px;color:var(--c);}

/* ═══ FILTERS ═══ */
.table-filters{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.filter-input,.filter-select{
  padding:9px 13px;background:var(--glass);border:1px solid var(--gb);
  border-radius:var(--rxs);font-size:13px;color:var(--tx);outline:none;
  font-family:inherit;transition:border-color 0.15s;
}
.filter-input{flex:1;min-width:220px;}
.filter-input:focus,.filter-select:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(155,77,202,0.12);}
.filter-select{min-width:160px;cursor:pointer;}
.filter-input::placeholder{color:var(--mu);opacity:0.6;}

/* ═══ COPY BOX ═══ */
.copy-box{
  display:flex;gap:8px;align-items:stretch;
  background:var(--glass);border:1px solid var(--gb);border-radius:var(--rxs);
  padding:4px;
}
.copy-box code{
  flex:1;padding:9px 12px;font-family:'SF Mono',monospace;font-size:12px;color:var(--c);
  background:none;overflow-x:auto;white-space:nowrap;
}
.copy-box button{
  padding:6px 14px;background:linear-gradient(135deg,var(--p),var(--c));color:#fff;
  border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;
}
.copy-box button:hover{opacity:0.9;}

/* ═══ FORMS ═══ */
.form-group{margin-bottom:14px;}
.form-group label{
  display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.4px;
  color:var(--mu);font-weight:700;margin-bottom:6px;
}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:9px 13px;background:var(--glass);
  border:1px solid var(--gb);border-radius:var(--rxs);
  font-size:13px;color:var(--tx);outline:none;font-family:inherit;
  transition:border-color 0.15s;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--p);box-shadow:0 0 0 3px rgba(155,77,202,0.12);
}
.form-group textarea{resize:vertical;min-height:80px;}
.form-hint{font-size:11px;color:var(--mu);margin-top:4px;}

/* ═══ MODAL ═══ */
.modal{
  position:fixed;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(8px);
  z-index:300;display:none;align-items:center;justify-content:center;padding:20px;
}
.modal.active,.modal.open{display:flex;}
.modal-content{
  background:var(--cb);border:1px solid var(--gb);border-radius:16px;padding:24px;
  max-width:520px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow);
}
.modal-title{font-size:18px;font-weight:800;color:var(--tx);margin-bottom:18px;}
.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;}

/* ═══ WIZARD ═══ */
.wizard-steps{display:flex;gap:0;margin-bottom:22px;}
.wizard-step{
  flex:1;display:flex;align-items:center;gap:8px;
  padding:11px 14px;background:var(--glass);
  border:1px solid var(--gb);border-right:none;font-size:12px;color:var(--mu);
}
.wizard-step:first-child{border-radius:var(--rxs) 0 0 var(--rxs);}
.wizard-step:last-child{border-right:1px solid var(--gb);border-radius:0 var(--rxs) var(--rxs) 0;}
.wizard-step.done{
  background:linear-gradient(135deg,rgba(16,185,129,0.10),rgba(16,185,129,0.04));
  color:var(--ok);border-color:rgba(16,185,129,0.30);
}
.wizard-step.active{
  background:linear-gradient(135deg,rgba(155,77,202,0.15),rgba(91,192,222,0.08));
  color:var(--tx);border-color:rgba(155,77,202,0.40);font-weight:700;
}
.wizard-step-num{
  width:20px;height:20px;border-radius:50%;
  background:var(--glass);border:1px solid var(--gb);
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;flex-shrink:0;
}
.wizard-step.done .wizard-step-num{background:var(--ok);border-color:var(--ok);color:#fff;}
.wizard-step.active .wizard-step-num{background:var(--p);border-color:var(--p);color:#fff;}
.wizard-step-label{font-size:12px;}
.wizard-content{display:none;}
.wizard-content.active{display:block;}

/* ═══ RADIO OPTIONS ═══ */
.radio-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.radio-option{
  display:flex;align-items:center;gap:12px;
  padding:14px;background:var(--glass);border:1px solid var(--gb);
  border-radius:var(--rxs);cursor:pointer;transition:all 0.15s;
}
.radio-option:hover{border-color:var(--p);}
.radio-option.selected{
  border-color:var(--p);
  background:linear-gradient(135deg,rgba(155,77,202,0.10),rgba(91,192,222,0.05));
}
.radio-option input{display:none;}
.radio-dot{
  width:18px;height:18px;border-radius:50%;
  border:2px solid var(--gb);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;transition:all 0.15s;
}
.radio-option.selected .radio-dot{border-color:var(--p);background:var(--p);}
.radio-option.selected .radio-dot::after{
  content:'';width:6px;height:6px;border-radius:50%;background:#fff;
}
.radio-label{flex:1;}
.radio-title{font-size:13px;font-weight:700;color:var(--tx);margin-bottom:2px;}
.radio-desc{font-size:11px;color:var(--mu);}

/* ═══ PROGRESS ═══ */
.progress-container{margin-bottom:18px;}
.progress-bar{
  height:8px;background:var(--glass);border:1px solid var(--gb);
  border-radius:4px;overflow:hidden;
}
.progress-fill{
  height:100%;background:linear-gradient(90deg,var(--p),var(--c));
  border-radius:4px;transition:width 0.3s;box-shadow:0 0 12px rgba(155,77,202,0.5);
}
.progress-steps{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.progress-step{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;background:var(--glass);border:1px solid var(--gb);
  border-radius:var(--rxs);font-size:12px;
}
.progress-step.done{
  border-color:rgba(16,185,129,0.30);
  background:linear-gradient(135deg,rgba(16,185,129,0.08),rgba(16,185,129,0.02));
  color:var(--ok);
}
.progress-step.running{
  border-color:rgba(155,77,202,0.40);
  background:linear-gradient(135deg,rgba(155,77,202,0.10),rgba(91,192,222,0.05));
}
.success-info{
  background:var(--glass);border:1px solid var(--gb);
  border-radius:var(--rxs);padding:16px;
}
.success-row{
  display:flex;justify-content:space-between;
  padding:8px 0;border-bottom:1px solid var(--gb);
  font-size:13px;gap:14px;
}
.success-row:last-child{border-bottom:none;}
.success-row > span:first-child{color:var(--mu);font-weight:600;}

/* ═══ PLUGINS SHOP ═══ */
.plugin-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.shop-section-title{font-size:13px;font-weight:700;margin:18px 0 12px;display:flex;align-items:center;gap:8px;color:var(--tx);}
.shop-bundles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:22px;}
.shop-bundle-card{background:var(--cb);border:1px solid var(--gb);border-radius:var(--rsm);padding:16px;transition:all 0.2s;}
.shop-bundle-card:hover{border-color:rgba(155,77,202,0.4);transform:translateY(-2px);}
.shop-bundle-card.owned{border-color:rgba(16,185,129,0.40);background:linear-gradient(135deg,rgba(16,185,129,0.06),rgba(16,185,129,0.02));}
.shop-bundle-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:8px;}
.shop-bundle-name{font-size:14px;font-weight:700;color:var(--tx);}
.shop-bundle-price{font-size:14px;font-weight:800;color:var(--c);}
.shop-badge-owned{font-size:11px;font-weight:700;color:var(--ok);}
.shop-bundle-desc{color:var(--mu);font-size:11.5px;line-height:1.5;margin-bottom:10px;}
.shop-bundle-meta{color:var(--mu);font-size:11px;margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.shop-saving{background:linear-gradient(135deg,var(--o),var(--warn));color:#fff;font-size:9px;font-weight:800;padding:2px 7px;border-radius:8px;text-transform:uppercase;letter-spacing:0.5px;}
.shop-bundle-plugins{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px;}
.shop-tag{font-size:10px;padding:2px 7px;border-radius:6px;background:var(--glass);border:1px solid var(--gb);color:var(--mu);}
.shop-tag.owned{border-color:rgba(16,185,129,0.40);color:var(--ok);background:rgba(16,185,129,0.08);}
.shop-bundle-actions{display:flex;gap:6px;padding-top:10px;border-top:1px solid var(--gb);}
.shop-filter-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:14px;}
.shop-filter-cats,.shop-filter-status{display:flex;flex-wrap:wrap;gap:5px;}
.shop-cat-btn,.shop-status-btn{padding:5px 11px;font-size:11px;border:1px solid var(--gb);background:var(--glass);color:var(--mu);border-radius:8px;cursor:pointer;transition:all 0.15s;font-family:inherit;}
.shop-cat-btn:hover,.shop-status-btn:hover{color:var(--tx);border-color:var(--p);}
.shop-cat-btn.active,.shop-status-btn.active{background:linear-gradient(135deg,var(--p),var(--c));color:#fff;border-color:transparent;}
.shop-cat-group{margin-bottom:20px;}
.shop-cat-title{font-size:12px;font-weight:700;margin-bottom:10px;color:var(--mu);text-transform:uppercase;letter-spacing:0.5px;display:flex;align-items:center;gap:6px;}
.shop-plugins-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;}
.shop-plugin-card{background:var(--cb);border:1px solid var(--gb);border-radius:var(--rxs);padding:14px;position:relative;transition:all 0.2s;}
.shop-plugin-card:hover{border-color:rgba(155,77,202,0.4);transform:translateY(-1px);}
.shop-plugin-card.owned{border-color:rgba(16,185,129,0.30);background:rgba(16,185,129,0.04);}
.shop-plugin-badge-owned{position:absolute;top:8px;right:10px;font-size:14px;color:var(--ok);}
.shop-plugin-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.shop-plugin-icon{font-size:20px;width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,rgba(155,77,202,0.15),rgba(91,192,222,0.08));border:1px solid var(--gb);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.shop-plugin-name{font-weight:700;font-size:13px;color:var(--tx);}
.shop-plugin-ver{color:var(--mu);font-size:10px;}
.shop-plugin-desc{color:var(--mu);font-size:11px;line-height:1.4;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.shop-plugin-meta{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap;}
.shop-meta-tag{font-size:9px;padding:2px 6px;border-radius:5px;background:var(--glass);border:1px solid var(--gb);color:var(--mu);text-transform:uppercase;letter-spacing:0.3px;font-weight:600;}
.shop-meta-tag.core{border-color:rgba(155,77,202,0.30);color:var(--p);background:rgba(155,77,202,0.08);}
.shop-plugin-buy{padding-top:8px;border-top:1px solid var(--gb);}
.shop-owned-grid{display:flex;flex-wrap:wrap;gap:6px;}
.shop-owned-item{padding:7px 12px;background:var(--glass);border:1px solid var(--gb);border-radius:var(--rxs);display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--tx);}
.shop-owned-ver{color:var(--mu);font-size:10px;}

/* ═══ NOTIFICATIONS ═══ */
.notification{
  position:fixed;bottom:20px;right:20px;padding:14px 20px;
  background:var(--cb);backdrop-filter:blur(10px);
  border:1px solid var(--gb);border-radius:var(--rsm);
  display:flex;align-items:center;gap:12px;z-index:9999;
  animation:slideIn 0.3s ease;box-shadow:var(--shadow);
}
.notification-success{border-color:rgba(16,185,129,0.40);background:linear-gradient(135deg,rgba(16,185,129,0.12),var(--cb));}
.notification-error{border-color:rgba(239,68,68,0.40);background:linear-gradient(135deg,rgba(239,68,68,0.12),var(--cb));}
.notification button{background:none;border:none;cursor:pointer;font-size:16px;color:var(--mu);padding:0;}
@keyframes slideIn{from{transform:translateX(100%);opacity:0;}to{transform:translateX(0);opacity:1;}}

/* ═══ MOBILE ═══ */
@media (max-width:900px){
  .hdr-ham{display:flex;}
  .hdr-bundle{display:none !important;}
  .hdr-user-info{display:none;}
  .sidebar{left:-260px;z-index:150;box-shadow:0 16px 48px rgba(0,0,0,0.4);}
  .sidebar.open{left:10px;}
  .main{margin-left:0;padding:10px 14px 40px;}
  .stats,.stat-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .stats,.stat-grid{grid-template-columns:1fr;}
  .hdr{padding:0 12px;gap:10px;}
  .hdr-title{font-size:13px;}
  .theme-tog{display:none;}
  .wizard-steps{flex-direction:column;}
  .wizard-step{border-right:1px solid var(--gb);border-bottom:none;}
  .wizard-step:first-child{border-radius:var(--rxs) var(--rxs) 0 0;}
  .wizard-step:last-child{border-radius:0 0 var(--rxs) var(--rxs);}
}
