:root{--bg:#090d12;--surface:#10161d;--surface2:#131b24;--line:#26313b;--text:#f4f7fb;--muted:#83909e;--purple:#9a63ff;--cyan:#21d8e8;--green:#38e3a2;--red:#ff5c76;--amber:#ffc861}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font:14px Inter,Segoe UI,system-ui,sans-serif;background:radial-gradient(circle at 72% 8%,#142630 0,transparent 27%),radial-gradient(circle at 30% 30%,#171328 0,transparent 28%),var(--bg)}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.admin-body{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:#0d1319eF;border-right:1px solid #202b34;padding:26px 16px;display:flex;flex-direction:column;z-index:20;backdrop-filter:blur(18px)}.brand-lockup{display:flex;align-items:center;gap:11px;padding:0 8px;color:white}.brand-mark{width:36px;height:36px;display:grid;place-items:center;font-weight:900;font-size:19px;border-radius:11px;background:linear-gradient(145deg,var(--purple),var(--cyan));box-shadow:0 0 24px #8d5cff55}.brand-lockup b{display:block;font-size:18px}.brand-lockup small{display:block;font-size:8px;letter-spacing:2.5px;color:#71808e;margin-top:2px}.side-nav{display:grid;gap:7px;margin-top:42px}.side-nav a{padding:12px 13px;border-radius:10px;color:#7f8b97;display:flex;gap:12px;align-items:center;font-weight:600}.side-nav a span{width:18px;color:#5f6d79}.side-nav a:hover,.side-nav a.active{color:#dffcff;background:linear-gradient(90deg,#16323a,#142129);box-shadow:inset 3px 0 0 var(--cyan)}.side-nav a.active span{color:var(--cyan)}.side-bottom{margin-top:auto;border-top:1px solid #202a33;padding:18px 7px 0}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#1c2932;color:var(--cyan);font-weight:800}.user-chip b,.user-chip small{display:block}.user-chip small{color:var(--muted);font-size:10px;text-transform:uppercase}.logout{display:block;color:#778490;font-size:12px;margin-top:14px}.admin-shell{margin-left:220px;min-height:100vh}.admin-shell.no-sidebar{margin-left:0}.topbar{height:104px;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #202b34;background:#0b1117aa;backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}.topbar h1{font-size:27px;margin:3px 0 0}.eyebrow{font-size:9px;letter-spacing:2.3px;color:#70808e;font-weight:800}.top-actions{display:flex;align-items:center;gap:14px}.global-search,.searchbox{display:flex;align-items:center;gap:8px;background:#121a21;border:1px solid #28343e;border-radius:9px;padding:0 11px;color:#687683}.global-search input,.searchbox input{width:230px;background:transparent;border:0;outline:0;color:white;padding:9px}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.top-user{color:#a7b1ba}.admin-main{padding:26px 28px 60px;max-width:1700px;margin:auto}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}.metric{min-height:128px;border:1px solid #26343d;border-radius:14px;padding:18px;background:linear-gradient(145deg,#121a21,#0e141a);position:relative;overflow:hidden}.metric:after{content:"";position:absolute;inset:auto 8% -40px;height:55px;filter:blur(25px);opacity:.18}.metric.cyan{border-color:#1caebe99;box-shadow:inset 0 0 24px #19cfe812,0 0 18px #19cfe80c}.metric.cyan:after{background:var(--cyan)}.metric.purple{border-color:#8b5dce99}.metric.purple:after{background:var(--purple)}.metric.red{border-color:#a9485a99}.metric.red:after{background:var(--red)}.metric-top{display:flex;justify-content:space-between;color:#8c9aa7;font-size:10px;font-weight:800;letter-spacing:.8px}.metric-top i{font-style:normal;font-size:18px}.metric.cyan i{color:var(--cyan)}.metric.purple i{color:var(--purple)}.metric.red i{color:var(--red)}.metric strong{display:block;font-size:34px;margin:9px 0 2px}.metric small{color:#667480}.panel{background:linear-gradient(145deg,#111820ee,#0d1319ee);border:1px solid #26313a;border-radius:14px;margin-bottom:18px;box-shadow:0 16px 45px #0003;overflow:visible}.glow-panel{border-color:#1c8e9b88;box-shadow:0 0 24px #16cddd0a}.panel-head{padding:18px 20px;border-bottom:1px solid #222d36;display:flex;justify-content:space-between;align-items:center;gap:18px}.panel-head h2{font-size:18px;margin:3px 0}.panel-head p{margin:0;color:var(--muted);font-size:11px}.count-badge{background:#192831;color:#6ee7f1;border:1px solid #28505a;padding:6px 10px;border-radius:999px;font-size:11px}.device-tools{display:flex;gap:9px;align-items:center}.device-tools form{display:flex;gap:7px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th{font-size:9px;letter-spacing:.7px;color:#667684;text-transform:uppercase;background:#0e151b}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #202a32;white-space:nowrap}td{color:#aab4bc;font-size:12px}td b{color:#e7edf2}td small{display:block;color:#64727d;margin-top:3px}.mono{font-family:ui-monospace,SFMono-Regular,monospace;letter-spacing:.5px}.table-link{color:var(--cyan)}.pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:700}.good{background:#12382e;color:#67e9b9}.bad{background:#421c27;color:#ff8da0}.warn{background:#42361c;color:#ffd778}.off{background:#292f34;color:#9aa3aa}.empty-cell{text-align:center!important;padding:28px!important;color:#65727c!important}.btn{border:0;border-radius:8px;background:linear-gradient(135deg,#8358ed,#a460ff);color:white;padding:10px 13px;font-weight:750;cursor:pointer;box-shadow:0 4px 18px #8255ef25}.btn.secondary{background:#18222a;border:1px solid #2a3944;box-shadow:none;color:#bdc7cf}.btn.danger,.danger{background:#5a2430}.compact{padding:7px 9px;font-size:11px}.inline-form{display:inline-flex;margin-right:4px}input,select{border:1px solid #293640;background:#0c1217;color:#dfe7ed;border-radius:8px;padding:9px 10px;outline:none}input:focus,select:focus{border-color:#6c57a6;box-shadow:0 0 0 3px #8658e514}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid-admin{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:16px 20px}.form-grid-admin .btn{grid-column:1/-1}.panel h3{font-size:13px;margin:18px 20px 0}.section-gap{border-top:1px solid #222d36;padding-top:18px}.tiny{width:75px}.action-menu{position:relative}.action-menu summary{list-style:none;color:var(--cyan);cursor:pointer;font-weight:700}.action-menu summary::-webkit-details-marker{display:none}.action-pop{position:absolute;right:0;top:25px;width:230px;background:#111a21;border:1px solid #30404b;border-radius:11px;padding:10px;z-index:30;box-shadow:0 16px 45px #0009}.action-pop form,.action-pop a{display:grid;gap:7px;margin:7px 0}.action-pop select{width:100%}.flash,.flash-wrap .flash{background:#201b34;border:1px solid #60469c;color:#d9cfff;padding:11px 14px;border-radius:10px;margin-bottom:14px}.muted{color:var(--muted)}.hidden{display:none!important}
/* customer */.customer-body{min-height:100vh;background:radial-gradient(circle at 50% -10%,#17252e 0,transparent 35%),radial-gradient(circle at 15% 40%,#1d1731 0,transparent 28%),#080c11}.customer-top{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,28px);border-bottom:1px solid #202b34;background:#0a1015cc;backdrop-filter:blur(16px)}.customer-brand{padding:0}.customer-secure{display:flex;align-items:center;gap:9px;color:#75828d;font-size:11px}.customer-main{padding:0 24px 70px}.customer-shell-premium{max-width:1180px;margin:0 auto}.customer-hero-premium{min-height:280px;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:52px 10px 28px}.customer-hero-premium h1{font-size:46px;line-height:1.02;margin:8px 0 14px;letter-spacing:-1.5px}.customer-hero-premium h1 em{font-style:normal;color:var(--purple)}.customer-hero-premium p{color:#7e8b96;font-size:14px}.device-pill{min-width:320px;background:linear-gradient(145deg,#121a21,#0d1319);border:1px solid #2b3944;border-radius:16px;padding:18px;box-shadow:0 15px 45px #0004}.device-pill span,.device-pill strong{display:block}.device-pill span{font-size:9px;letter-spacing:1.7px;color:#6d7a85}.device-pill strong{font:800 24px ui-monospace,monospace;letter-spacing:3px;margin:7px 0 12px}.device-pill button{background:transparent;color:var(--cyan);border:0;padding:0;cursor:pointer}.subscription-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(120deg,#101920,#111621);border:1px solid #263741;border-radius:16px;padding:22px 25px;box-shadow:0 0 28px #1bd5e80a;margin-bottom:20px}.sub-status{display:flex;align-items:center;gap:13px}.status-orb{width:13px;height:13px;border-radius:50%;background:var(--green);box-shadow:0 0 16px var(--green)}.sub-status small,.sub-data small{display:block;color:#65737e;font-size:9px;letter-spacing:1px}.sub-status strong{display:block;font-size:19px;margin-top:4px}.sub-data{display:flex;gap:45px}.sub-data strong{display:block;margin-top:5px;font-size:15px}.customer-section,.renew-card{background:#0f161cdd;border:1px solid #25313a;border-radius:16px;padding:25px;margin-bottom:20px}.customer-section-head{display:flex;justify-content:space-between;align-items:center}.customer-section-head h2,.renew-card h2{font-size:22px;margin:4px 0}.customer-section-head p,.renew-card p{margin:0;color:#778590}.add-source-panel{margin-top:20px;padding:18px;background:#0b1116;border:1px solid #293740;border-radius:13px}.pm-tabs{display:inline-flex;padding:4px;background:#121b22;border:1px solid #293640;border-radius:10px}.pm-tab{border:0;background:transparent;color:#7d8994;padding:8px 12px;border-radius:7px;cursor:pointer}.pm-tab.active{background:#25203a;color:#d8caff}.stack{display:grid;gap:10px}.pm-form{margin-top:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.source-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:20px}.source-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:linear-gradient(145deg,#121a21,#0d1319);border:1px solid #26343d;border-radius:14px;padding:17px;overflow:visible}.source-card:hover{border-color:#544573}.source-type{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:11px}.source-type.xc{background:#172e35;color:#58e0ec;border:1px solid #24535d}.source-type.m3u{background:#2a203b;color:#c5a7ff;border:1px solid #554273}.source-main small{color:#63717c;font-size:8px;letter-spacing:1px}.source-main h3{font-size:16px;margin:4px 0 7px}.sync-badge{font-size:9px;color:#60dcb0}.source-actions{display:flex;gap:4px}.source-actions form{margin:0}.icon-btn{background:#161f26;border:1px solid #2b3943;color:#aeb8c0;border-radius:8px;padding:7px 9px;cursor:pointer}.danger-text{color:#ff8799}.source-edit{grid-column:1/-1;border-top:1px solid #26323b;padding-top:14px;margin-top:2px}.edit-actions{display:flex;gap:8px}.empty-source{grid-column:1/-1;text-align:center;padding:42px;border:1px dashed #30404b;border-radius:14px;color:#6f7d88}.empty-source span{font-size:28px;color:var(--purple)}.empty-source h3{color:#dbe3e9;margin-bottom:4px}.renew-card{display:flex;justify-content:space-between;align-items:center;gap:25px}.renew-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;min-width:65%}.request-banner{padding:9px 11px;border-radius:9px}.pending{background:#42361c;color:#ffd778}.login{max-width:420px;margin:10vh auto;background:#10171d;border:1px solid #293640;border-radius:16px;padding:28px}.login form{display:grid;gap:10px}.login h1{margin-top:0}.flash-wrap{max-width:1180px;margin:18px auto 0}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.device-head{align-items:flex-start;flex-direction:column}.device-tools{width:100%;flex-wrap:wrap}.split-grid{grid-template-columns:1fr}.source-grid{grid-template-columns:1fr}.renew-card{align-items:flex-start;flex-direction:column}.renew-form{width:100%;min-width:0;grid-template-columns:1fr 1fr}}@media(max-width:760px){.sidebar{display:none}.admin-shell{margin-left:0}.topbar{height:auto;align-items:flex-start}.top-actions{display:none}.admin-main{padding:18px}.metric-grid{grid-template-columns:1fr 1fr}.customer-main{padding:0 14px 50px}.customer-hero-premium{flex-direction:column;align-items:flex-start;padding-top:35px}.customer-hero-premium h1{font-size:37px}.device-pill{min-width:0;width:100%}.subscription-card{align-items:flex-start;flex-direction:column}.sub-data{width:100%;justify-content:space-between;gap:10px}.customer-section-head{align-items:flex-start;gap:15px}.form-grid,.renew-form{grid-template-columns:1fr}.source-card{grid-template-columns:auto 1fr}.source-actions{grid-column:1/-1}.customer-secure{display:none}.metric strong{font-size:28px}}


/* RC29 — dedicated Resellers management */
.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:-6px 0 18px}.page-intro p{margin:6px 0 0;color:var(--muted)}.breadcrumbs{font-size:11px;color:#8f85c9}.breadcrumbs span{color:#4d5964;margin:0 7px}.reseller-add-jump{min-width:145px}
.reseller-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.reseller-metric{min-height:122px;border-radius:14px;border:1px solid #2d3947;background:linear-gradient(135deg,#121a26,#0e1520);display:flex;align-items:center;gap:17px;padding:20px;position:relative;overflow:hidden}.reseller-metric:after{content:"";position:absolute;width:120px;height:70px;right:-20px;bottom:-38px;filter:blur(28px);opacity:.22}.reseller-metric.violet{border-color:#8b45e9}.reseller-metric.violet:after{background:#9b4cff}.reseller-metric.blue{border-color:#087ec8}.reseller-metric.blue:after{background:#00b6ff}.reseller-metric.amber{border-color:#91600f}.reseller-metric.amber:after{background:#e99900}.reseller-metric.slate{border-color:#3d4960}.reseller-metric.slate:after{background:#6f7cff}.reseller-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:12px;background:#1f1740;color:#b997ff;font-size:22px;font-weight:900}.blue .reseller-icon{background:#0d3049;color:#37d3ff}.amber .reseller-icon{background:#4b3512;color:#ffc85b}.slate .reseller-icon{background:#242b3b;color:#e7edf7}.reseller-metric span,.reseller-metric small{display:block;color:#9aa7b6}.reseller-metric span{font-size:12px}.reseller-metric strong{display:block;font-size:28px;margin:3px 0}.reseller-metric small{font-size:10px}
.reseller-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.reseller-list-panel,.reseller-create-panel{margin-bottom:0}.reseller-list-head{align-items:flex-end}.reseller-filters{display:flex;gap:10px}.reseller-filters .searchbox{min-width:270px}.reseller-filters select{min-width:130px}.reseller-table th,.reseller-table td{padding:14px 15px}.reseller-user{color:#aa8cff}.table-footer{padding:15px 20px;color:#788693;font-size:11px;border-top:1px solid #212c35}.reseller-actions{position:relative}.reseller-actions summary{list-style:none;width:34px;height:30px;border:1px solid #293846;border-radius:8px;background:#141d2a;display:grid;place-items:center;cursor:pointer;color:#cbd6e2;font-weight:900}.reseller-actions summary::-webkit-details-marker{display:none}.reseller-action-pop{position:absolute;right:0;top:36px;width:255px;padding:14px;background:#101824;border:1px solid #344456;border-radius:12px;z-index:50;box-shadow:0 20px 55px #000b}.reseller-action-pop .action-title{font-weight:800;color:#dce6f1;margin-bottom:12px}.reseller-action-pop form{display:grid;gap:7px;margin-top:10px}.reseller-action-pop label,.reseller-create-form label{font-size:11px;color:#d0d9e3}.reseller-action-pop small{font-size:9px;color:#74818e}.credit-row{display:grid;grid-template-columns:1fr auto;gap:7px}.reseller-create-panel{position:sticky;top:92px}.reseller-create-form{display:grid;gap:9px;padding:18px 20px 22px}.reseller-create-form label{margin-top:4px}.reseller-create-form input{height:42px}.reseller-create-btn{margin-top:10px;height:44px}.plan-inline-form{display:grid;grid-template-columns:1.3fr repeat(4,.8fr) auto;gap:10px;padding:18px 20px}
@media(max-width:1200px){.reseller-metrics{grid-template-columns:repeat(2,1fr)}.reseller-layout{grid-template-columns:1fr}.reseller-create-panel{position:static}.plan-inline-form{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.page-intro{align-items:flex-start;flex-direction:column}.reseller-metrics{grid-template-columns:1fr}.reseller-list-head{align-items:flex-start}.reseller-filters{width:100%;flex-direction:column}.reseller-filters .searchbox{min-width:0;width:100%}.plan-inline-form{grid-template-columns:1fr}}


/* RC31 — role-specific Vanta portals */
.role-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;margin-bottom:20px;border:1px solid #31274f;border-radius:18px;background:radial-gradient(circle at 84% 22%,rgba(137,72,255,.18),transparent 32%),linear-gradient(135deg,#151224,#0b111b 72%);box-shadow:0 24px 80px rgba(0,0,0,.18)}
.role-hero h2{font-size:27px;margin:6px 0 7px}.role-hero p{color:var(--muted);margin:0;max-width:680px}.credit-wallet{min-width:190px;padding:17px 20px;border-radius:15px;background:linear-gradient(145deg,#29184b,#171628);border:1px solid #7442c7;text-align:right;box-shadow:inset 0 0 30px rgba(144,75,255,.08)}.credit-wallet small,.credit-wallet span{display:block;color:#9b91b6;font-size:10px}.credit-wallet strong{display:block;font-size:34px;color:#fff;margin:3px 0}
.reseller-metric-grid{margin-bottom:20px}.reseller-quick-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-bottom:20px}.quick-card{padding:22px}.quick-card h3{font-size:19px;margin:7px 0}.quick-card p{color:var(--muted);margin:0 0 15px}.quick-card form{display:grid;grid-template-columns:1fr auto;gap:10px}.wallet-number{font-size:42px;line-height:1;font-weight:900;color:#b28aff;margin:12px 0}
.row-actions{display:flex;gap:7px;align-items:center}.transaction-list{padding:0 20px 15px}.transaction-row{display:grid;grid-template-columns:1fr 90px 120px;align-items:center;gap:15px;padding:15px 4px;border-bottom:1px solid #202b36}.transaction-row div small{display:block;color:#71808e;margin-top:4px}.transaction-row>strong{text-align:right;font-size:16px}.transaction-row>span{text-align:right;color:#83909d;font-size:11px}.credit-plus{color:#5fe6ad}.credit-minus{color:#ff7380}
.customer-shell-premium{max-width:1180px}.customer-hero-premium{border-radius:24px;background:radial-gradient(circle at 78% 30%,rgba(125,64,255,.22),transparent 30%),linear-gradient(135deg,#0d1220,#171126 68%,#0b1019);border:1px solid #332857}.subscription-card{box-shadow:0 22px 70px rgba(0,0,0,.16)}.source-card{transition:.18s ease;box-shadow:0 18px 50px rgba(0,0,0,.12)}.source-card:hover{transform:translateY(-2px);border-color:#6745a4}.add-source-panel{border:1px solid #433269;background:linear-gradient(145deg,#14101f,#0c121b)}
@media(max-width:900px){.role-hero{align-items:flex-start;flex-direction:column}.credit-wallet{width:100%;text-align:left}.reseller-quick-grid{grid-template-columns:1fr}.quick-card form{grid-template-columns:1fr}.transaction-row{grid-template-columns:1fr auto}.transaction-row>span{display:none}}

/* RC32 secure separated login portals */
.portal-login-body{min-height:100vh;margin:0;background:radial-gradient(circle at 50% -10%,rgba(119,65,230,.18),transparent 34%),#080b12;color:#eef1f7;font-family:Inter,Segoe UI,Arial,sans-serif;display:flex;align-items:center;justify-content:center;padding:28px}
.portal-login-shell{width:min(1040px,100%)}.login-brand{display:flex;align-items:center;gap:11px;margin-bottom:28px}.login-brand>div{display:flex;flex-direction:column}.login-brand b{font-size:22px}.login-brand small{font-size:9px;letter-spacing:3px;color:#817a98}.login-sub{color:#8f98a8;margin:-4px 0 26px}
.role-login-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.role-login-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;text-decoration:none;color:inherit;padding:24px;border-radius:18px;border:1px solid #262d3b;background:linear-gradient(145deg,#111622,#0c1018);transition:.18s ease}.role-login-card:hover{transform:translateY(-3px);border-color:#6846a8;box-shadow:0 22px 70px rgba(0,0,0,.25)}.role-login-card h2{margin:4px 0;font-size:20px}.role-login-card p{margin:0;color:#8994a5;font-size:12px;line-height:1.5}.role-login-card small{color:#9a7fe0;letter-spacing:1.5px;font-size:9px}.role-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#211a36;border:1px solid #6645a1;font-weight:900}
.single-login-shell{width:min(440px,100%);padding:32px;border-radius:22px;border:1px solid #2d3442;background:linear-gradient(145deg,#111722,#0a0e16);box-shadow:0 30px 90px rgba(0,0,0,.32)}.single-login-shell h1{margin:7px 0 22px}.login-back{display:inline-block;color:#8f99aa;text-decoration:none;font-size:12px;margin-bottom:22px}.secure-login-form{display:grid;gap:15px}.secure-login-form label{display:grid;gap:7px;color:#aeb7c7;font-size:11px}.secure-login-form input{width:100%;box-sizing:border-box;background:#090d14;border:1px solid #303849;color:#fff;padding:13px 14px;border-radius:11px;outline:none}.secure-login-form input:focus{border-color:#7751bd;box-shadow:0 0 0 3px rgba(119,81,189,.12)}.login-submit{margin-top:5px;width:100%}.secure-note{margin-top:18px;text-align:center;color:#647080;font-size:10px}.customer-login .single-login-shell{border-color:#41305f}.reseller-login .single-login-shell{border-color:#2c4762}.admin-login .single-login-shell{border-color:#493767}
.customer-session-bar{display:flex;align-items:center;justify-content:space-between;padding:0 4px 12px;color:#7f8b9b;font-size:11px}.customer-session-bar a{color:#b693ff;text-decoration:none}
@media(max-width:820px){.role-login-grid{grid-template-columns:1fr}.portal-login-body{padding:18px}}

.mini-reset-form{border-top:1px solid #283241;margin-top:9px;padding-top:10px}.mini-reset-form small{color:#8d78bd;font-size:9px;letter-spacing:1px}.mini-reset-form input{min-width:190px;background:#0a1018;border:1px solid #303949;color:#fff;border-radius:8px;padding:8px 9px}.single-login-shell .login-sub{font-size:11px;line-height:1.55;margin:0 0 18px;color:#8995a6}

.claim-device-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;margin-bottom:20px;border-color:#3d3160;background:radial-gradient(circle at 90% 50%,rgba(125,68,232,.12),transparent 35%),#0d131d}.claim-device-panel h2{margin:5px 0;font-size:19px}.claim-device-panel p{margin:0;color:#8491a2}.claim-device-panel form{display:flex;gap:9px;min-width:430px}.claim-device-panel input{flex:1;background:#090e16;border:1px solid #303a4b;color:#fff;border-radius:10px;padding:11px 13px}
.first-login-note{display:grid;gap:4px;padding:15px 16px;margin:0 0 18px;border:1px solid #47356c;border-radius:13px;background:linear-gradient(145deg,rgba(106,61,181,.16),rgba(20,18,31,.6))}.first-login-note b{font-size:10px;color:#9b8aad;text-transform:uppercase;letter-spacing:1px}.first-login-note strong{font-size:17px;color:#fff}.first-login-note span{font-size:11px;line-height:1.55;color:#9ba5b4}
@media(max-width:900px){.claim-device-panel{align-items:stretch;flex-direction:column}.claim-device-panel form{min-width:0;width:100%}}

/* RC35 professional management pages */
.manage-breadcrumb{display:flex;gap:8px;align-items:center;color:#687688;font-size:11px;margin-bottom:14px}.manage-breadcrumb a{color:#9b80dc;text-decoration:none}.manage-breadcrumb b{color:#c8d0da}.manage-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 25px;margin-bottom:18px;border:1px solid #32264f;border-radius:17px;background:radial-gradient(circle at 85% 20%,rgba(125,67,230,.15),transparent 32%),linear-gradient(135deg,#121724,#0b1018)}.manage-hero h2{margin:5px 0;font-size:25px}.manage-key{font-family:monospace;color:#9185a9;font-size:12px}.manage-status{display:flex;align-items:center;gap:10px}.manage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:18px}.manage-card{padding:21px}.manage-card h3{margin:7px 0;font-size:18px}.manage-card p{min-height:42px;margin:0 0 16px;color:#7f8b9b;font-size:11px;line-height:1.55}.manage-card form{display:grid;gap:10px}.manage-card label{display:grid;gap:6px;color:#9ba7b7;font-size:10px}.manage-card input,.manage-card select{box-sizing:border-box;width:100%;background:#090e16;border:1px solid #303949;color:#fff;border-radius:9px;padding:10px}.full-btn{width:100%}.detail-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding:5px 20px 22px}.detail-grid>div{padding:13px;border-right:1px solid #222c38}.detail-grid>div:last-child{border:0}.detail-grid small{display:block;color:#687687;font-size:9px;letter-spacing:1px;margin-bottom:5px}.detail-grid b{font-size:12px}.simple-list{padding:0 20px 20px}.simple-list>div{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #202936}.simple-list small{color:#687687}.profile-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.profile-metrics>div{padding:17px 19px;border:1px solid #293342;border-radius:13px;background:#0d131d}.profile-metrics small{display:block;color:#718092;font-size:9px;letter-spacing:1px}.profile-metrics strong{display:block;font-size:25px;margin-top:5px}.profile-metrics .date-value{font-size:15px;margin-top:10px}.reseller-control-grid .manage-card p{min-height:46px}
@media(max-width:1000px){.manage-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}.profile-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.manage-hero{align-items:flex-start;flex-direction:column}.manage-status{align-items:flex-start;flex-direction:column}.detail-grid,.profile-metrics{grid-template-columns:1fr}}

.plans-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.plans-hero h2{font-size:26px;margin:5px 0}.plans-hero p{color:#7f8c9e;margin:0}.plan-editor{margin-bottom:18px}.plan-form{display:grid;grid-template-columns:1.4fr repeat(4,1fr) auto;gap:10px;padding:0 20px 20px;align-items:end}.plan-form label,.plan-edit label{display:grid;gap:6px;color:#8794a6;font-size:10px}.plan-form input,.plan-edit input{background:#090e16;border:1px solid #303a49;color:#fff;border-radius:9px;padding:10px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.plan-card{padding:20px;border:1px solid #2c3645;border-radius:16px;background:linear-gradient(145deg,#101622,#0b1018)}.plan-card-top{display:flex;justify-content:space-between;gap:12px}.plan-card h3{margin:5px 0;font-size:20px}.plan-price{display:flex;align-items:baseline;gap:7px;margin:20px 0}.plan-price strong{font-size:40px;color:#b692ff}.plan-price span{color:#7f8b9b}.plan-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:15px}.plan-facts>div{padding:10px;border:1px solid #232d39;border-radius:9px;background:#0a1017}.plan-facts small{display:block;color:#687687;font-size:8px;margin-bottom:4px}.plan-facts b{font-size:11px}.plan-edit{margin:10px 0}.plan-edit summary{cursor:pointer;color:#a68adb;font-size:11px;padding:9px 0}.plan-edit form{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:10px 0}.disabled-plan{opacity:.62}.customer-password-form{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px}.customer-password-form input{background:#0a0f17;border:1px solid #343d4c;color:#fff;border-radius:10px;padding:12px}.account-security-card{margin-top:20px}@media(max-width:1050px){.plan-grid{grid-template-columns:repeat(2,1fr)}.plan-form{grid-template-columns:repeat(2,1fr)}.customer-password-form{grid-template-columns:1fr 1fr}}@media(max-width:700px){.plan-grid,.plan-form,.customer-password-form{grid-template-columns:1fr}.plans-hero{align-items:flex-start;flex-direction:column}}

.claim-page-form{display:flex;gap:10px;padding:0 20px 20px}.claim-page-form input{flex:1;background:#090e16;border:1px solid #303a49;color:#fff;border-radius:10px;padding:11px 13px}.wallet-chip{padding:8px 12px;border:1px solid #47376c;border-radius:10px;color:#b99aef;background:rgba(112,66,183,.1);font-size:11px}.permission-note{display:flex;gap:9px;margin-top:13px;padding:12px 15px;border:1px solid #263444;border-radius:11px;color:#748296;font-size:10px}.permission-note b{color:#55cbb4}@media(max-width:650px){.claim-page-form{flex-direction:column}.permission-note{flex-direction:column}}

.login-security-hint{margin:14px auto 0;max-width:430px;text-align:center;color:#667588;font-size:10px;line-height:1.5}

.field-hint{display:block;margin-top:5px;color:#69788b;font-size:9px;line-height:1.4}

/* RC41 — professional Devices + Resellers */
.page-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.page-hero h2{font-size:27px;margin:4px 0}.page-hero p{margin:0;color:#7f8c9e}.compact-hero{padding:3px 0 8px}.add-reseller-strip{margin-bottom:18px}.reseller-create-inline{display:grid;grid-template-columns:1fr 1.2fr 1fr .7fr auto;gap:10px;padding:0 20px 20px;align-items:end}.reseller-create-inline label{display:grid;gap:6px;color:#8190a2;font-size:10px}.reseller-create-inline input{background:#090e16;border:1px solid #303a49;color:#fff;border-radius:9px;padding:10px}.clean-table td{vertical-align:middle}.clean-table .action-cell{text-align:right;width:90px}.clean-table tr:hover td{background:rgba(103,72,161,.035)}
.device-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.device-stat{padding:16px 18px;border:1px solid #2a3443;border-radius:13px;background:#0d131d}.device-stat span{display:block;color:#798698;font-size:10px}.device-stat strong{display:block;font-size:28px;margin:4px 0}.device-stat small{color:#637083;font-size:9px}.device-stat.success{border-color:#214a40}.device-stat.warning{border-color:#5a4523}.device-stat.danger{border-color:#58303a}.device-stat.muted-stat{opacity:.78}.pill.neutral{background:#1d2935;color:#9cadbd;border-color:#334455}.device-profile-metrics{margin-bottom:18px}.device-profile-metrics>div{min-height:66px}.action-cell .btn{white-space:nowrap}
@media(max-width:1100px){.device-stat-grid{grid-template-columns:repeat(3,1fr)}.reseller-create-inline{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.device-stat-grid,.reseller-create-inline{grid-template-columns:1fr}.page-hero{align-items:flex-start;flex-direction:column}}

/* RC43 — Plans & Credits */
.plan-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.plan-summary{background:#0d141e;border:1px solid #293646;border-radius:14px;padding:17px 19px}.plan-summary span{display:block;color:#8290a2;font-size:10px}.plan-summary strong{display:block;font-size:29px;margin:5px 0}.plan-summary small{color:#657487;font-size:9px}.plan-summary.purple{border-color:#5b3c8c}.plan-summary.cyan{border-color:#155778}.plan-summary.green{border-color:#215c4a}.plan-summary.amber{border-color:#674c1c}.plans-table-wrap{overflow:auto}.plans-table{min-width:850px}.credit-cost{display:inline-flex;min-width:28px;height:28px;align-items:center;justify-content:center;border-radius:8px;background:rgba(145,87,255,.14);color:#b38cff;font-weight:900;margin-right:5px}.row-disabled{opacity:.55}.plan-edit-row td{padding:0!important;background:#0a1018!important}.plan-manage-panel{display:flex;gap:14px;align-items:end;justify-content:space-between;padding:16px;border-top:1px solid #273344}.plan-inline-edit{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr auto;gap:9px;align-items:end;flex:1}.plan-inline-edit label,.pro-plan-form label{display:grid;gap:5px;font-size:9px;color:#7f8da0}.plan-inline-edit input,.pro-plan-form input{background:#090e16;border:1px solid #303a49;color:#fff;border-radius:9px;padding:10px}.pro-plan-form{grid-template-columns:1.2fr .8fr .8fr .8fr auto}.rule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 20px 20px}.rule-grid>div{display:flex;gap:10px;align-items:center;background:#0b1119;border:1px solid #263241;border-radius:12px;padding:14px;color:#8592a3;font-size:10px}.rule-grid b{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#201538;color:#b68cff}.credit-rules{margin-top:18px}@media(max-width:1000px){.plan-summary-grid,.rule-grid{grid-template-columns:repeat(2,1fr)}.plan-inline-edit,.pro-plan-form{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.plan-summary-grid,.rule-grid,.plan-inline-edit,.pro-plan-form{grid-template-columns:1fr}.plan-manage-panel{align-items:stretch;flex-direction:column}}

.request-wallet{display:flex;align-items:baseline;gap:7px;padding:12px 16px;border:1px solid #4c376d;border-radius:12px;background:rgba(111,65,177,.09)}.request-wallet small{color:#7d8b9d;font-size:8px}.request-wallet strong{font-size:25px;color:#c29cff}.request-wallet span{font-size:9px;color:#778597}.request-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.request-stats>div{background:#0d141e;border:1px solid #293646;border-radius:13px;padding:15px 18px}.request-stats span{color:#7c899b;font-size:9px}.request-stats strong{display:block;font-size:26px;margin-top:4px}.request-stats .pending{border-color:#61491f}.request-stats .approved{border-color:#215343}.request-stats .rejected{border-color:#5b2d39}.request-list{display:grid;gap:11px;padding:0 18px 18px}.request-card{border:1px solid #263241;border-radius:13px;background:#0a1018;overflow:hidden}.request-main{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr .65fr;gap:16px;align-items:center;padding:15px 16px}.request-device{display:grid;grid-template-columns:auto 1fr;gap:3px 8px}.request-device code{grid-column:1/-1;color:#7f8da0}.request-id{color:#8b65c9}.request-plan,.request-customer,.request-owner,.request-state{display:flex;flex-direction:column;gap:3px}.request-main small{font-size:8px;color:#637184}.request-main strong{font-size:11px}.request-main span:not(.pill){font-size:9px;color:#7a8798}.request-note,.request-resolution{display:flex;gap:10px;padding:9px 16px;border-top:1px solid #202b38;color:#8390a1;font-size:9px}.request-actions{display:flex;justify-content:flex-end;gap:9px;padding:11px 16px;border-top:1px solid #202b38}.reject-form{display:flex;gap:7px}.reject-form input{width:210px;background:#080d14;border:1px solid #2d3948;color:#fff;border-radius:8px;padding:8px 10px}.request-actions button:disabled{opacity:.45;pointer-events:none}.empty-requests{display:flex;flex-direction:column;align-items:center;padding:45px;color:#687688}@media(max-width:900px){.request-main{grid-template-columns:1fr 1fr}.request-stats{grid-template-columns:1fr 1fr}}@media(max-width:600px){.request-main,.request-stats{grid-template-columns:1fr}.request-actions,.reject-form{flex-direction:column}.reject-form input{width:auto}}

/* RC45 — Security & Permissions */
.security-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 16px;margin-bottom:16px;border:1px solid #2c4e45;border-radius:13px;background:linear-gradient(90deg,rgba(35,92,75,.12),rgba(76,48,112,.08))}.security-banner>div{display:grid;gap:3px}.security-banner b{font-size:12px}.security-banner small{font-size:9px;color:#778697}.audit-table-wrap{overflow:auto;padding:0 18px 18px}.audit-table{min-width:900px}.audit-table code{font-size:9px;color:#8e9cad}.audit-details{max-width:420px;white-space:normal;color:#748294;font-size:9px}.audit-stats{margin-bottom:18px}


/* =========================================================
   VANTA CUSTOMER LOGIN DESIGN
   ========================================================= */

.vanta-customer-login {
    margin: 0;
    min-height: 100vh;
    background:
        radial-gradient(circle at 20% 15%, rgba(124,58,237,.20), transparent 32%),
        radial-gradient(circle at 85% 70%, rgba(37,99,235,.18), transparent 35%),
        #050811;
    color: #fff;
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

.vanta-login-shell {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 18px;
    box-sizing: border-box;
}

.vanta-login-card {
    width: 100%;
    max-width: 520px;
    padding: 42px;
    border-radius: 26px;
    background:
        linear-gradient(
            145deg,
            rgba(18,25,43,.96),
            rgba(8,12,23,.98)
        );
    border: 1px solid rgba(148,163,184,.16);
    box-shadow:
        0 35px 100px rgba(0,0,0,.50),
        0 0 80px rgba(124,58,237,.08);
    backdrop-filter: blur(18px);
    box-sizing: border-box;
}

.vanta-login-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 18px;
}

.vanta-v-mark {
    width: 50px;
    height: 50px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 25px;
    background:
        linear-gradient(135deg,#8b5cf6,#2563eb);
    box-shadow:
        0 12px 30px rgba(99,102,241,.30);
}

.vanta-brand-name {
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.vanta-brand-name strong {
    font-size: 24px;
    letter-spacing: 3px;
}

.vanta-brand-name span {
    font-size: 13px;
    color: #8b5cf6;
    font-weight: 800;
}

.vanta-secure-badge {
    width: fit-content;
    margin: 0 auto 25px;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(16,185,129,.08);
    border: 1px solid rgba(16,185,129,.22);
    color: #6ee7b7;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .4px;
}

.vanta-secure-badge span {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 7px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 12px #10b981;
}

.vanta-login-card h1 {
    margin: 0;
    text-align: center;
    font-size: 31px;
    line-height: 1.2;
}

.vanta-login-description {
    margin: 13px auto 28px;
    max-width: 400px;
    color: #94a3b8;
    text-align: center;
    line-height: 1.65;
    font-size: 14px;
}

.vanta-login-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.vanta-login-form label {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.vanta-login-form label span {
    font-size: 11px;
    font-weight: 800;
    color: #94a3b8;
    letter-spacing: 1.2px;
}

.vanta-login-form input {
    width: 100%;
    box-sizing: border-box;
    padding: 16px 17px;
    border-radius: 13px;
    border: 1px solid #29344a;
    background: #070c16;
    color: #fff;
    font-size: 15px;
    outline: none;
    transition: .2s ease;
}

.vanta-login-form input:focus {
    border-color: #7c3aed;
    box-shadow: 0 0 0 3px rgba(124,58,237,.13);
}

.vanta-login-form input::placeholder {
    color: #475569;
}

.vanta-login-form button {
    border: 0;
    margin-top: 4px;
    padding: 16px 18px;
    border-radius: 13px;
    cursor: pointer;
    color: white;
    font-size: 15px;
    font-weight: 800;
    background:
        linear-gradient(90deg,#7c3aed,#2563eb);
    box-shadow:
        0 15px 32px rgba(79,70,229,.25);
    transition: .2s ease;
}

.vanta-login-form button:hover {
    transform: translateY(-1px);
    box-shadow:
        0 18px 38px rgba(79,70,229,.35);
}

.vanta-login-errors {
    margin-bottom: 20px;
    padding: 13px 15px;
    border-radius: 12px;
    background: rgba(239,68,68,.10);
    border: 1px solid rgba(239,68,68,.25);
    color: #fca5a5;
    font-size: 13px;
    text-align: center;
}

.vanta-login-help {
    margin-top: 27px;
    padding: 17px;
    border-radius: 14px;
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(148,163,184,.10);
}

.vanta-login-help strong {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
}

.vanta-login-help p {
    margin: 0;
    color: #8491a5;
    line-height: 1.55;
    font-size: 12px;
}

.vanta-security-note {
    margin-top: 16px;
    color: #718096;
    font-size: 11px;
    line-height: 1.55;
    text-align: center;
}

.vanta-back-home {
    display: block;
    margin-top: 25px;
    text-align: center;
    color: #8b9bb5;
    font-size: 13px;
    text-decoration: none;
}

.vanta-back-home:hover {
    color: #fff;
}

@media (max-width: 600px) {
    .vanta-login-card {
        padding: 30px 20px;
        border-radius: 20px;
    }

    .vanta-login-card h1 {
        font-size: 26px;
    }
}


/* =========================================================
   VANTA RESELLER DASHBOARD V2
   ========================================================= */

.rv2-hero{
display:grid;
grid-template-columns:1fr 285px;
gap:20px;
align-items:stretch;
margin-bottom:20px
}

.rv2-welcome{
padding:29px 30px;
border:1px solid #30264a;
border-radius:18px;
background:
radial-gradient(circle at 88% 20%,rgba(137,77,255,.15),transparent 32%),
linear-gradient(135deg,#121925,#0b1119)
}

.rv2-welcome h2{
font-size:30px;
margin:7px 0 8px
}

.rv2-welcome p{
margin:0;
color:#82909d
}

.rv2-hero-actions{
display:flex;
gap:9px;
margin-top:22px
}

.rv2-wallet{
padding:24px;
border-radius:18px;
border:1px solid #6742a8;
background:
radial-gradient(circle at 100% 0,rgba(155,84,255,.25),transparent 48%),
linear-gradient(145deg,#21153a,#111521);
box-shadow:0 16px 45px #0004
}

.rv2-wallet-head{
display:flex;
justify-content:space-between;
align-items:center;
color:#a49ab9;
font-size:9px;
letter-spacing:1.5px;
font-weight:800
}

.rv2-wallet-head i{
width:34px;
height:34px;
display:grid;
place-items:center;
border-radius:10px;
font-style:normal;
font-size:17px;
font-weight:900;
background:#8e55ef;
color:#fff
}

.rv2-wallet>strong{
display:block;
font-size:45px;
line-height:1;
margin:20px 0 4px
}

.rv2-wallet>small{
color:#9c91b3
}

.rv2-wallet-foot{
border-top:1px solid #403052;
margin-top:18px;
padding-top:13px;
font-size:10px;
color:#766c88
}

.rv2-stats{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:15px;
margin-bottom:20px
}

.rv2-stat{
display:flex;
align-items:center;
gap:15px;
min-height:116px;
padding:18px;
border-radius:15px;
border:1px solid #293642;
background:linear-gradient(145deg,#111923,#0d141b)
}

.rv2-stat-icon{
width:47px;
height:47px;
flex:0 0 47px;
display:grid;
place-items:center;
border-radius:12px;
font-size:18px;
font-weight:900
}

.rv2-stat-icon.purple{
background:#271b42;
color:#b789ff
}

.rv2-stat-icon.green{
background:#12352d;
color:#54e4ad
}

.rv2-stat-icon.red{
background:#3c1c26;
color:#ff8295
}

.rv2-stat-icon.amber{
background:#3d3017;
color:#ffd068
}

.rv2-stat span{
display:block;
font-size:9px;
letter-spacing:1px;
font-weight:800;
color:#71808e
}

.rv2-stat strong{
display:block;
font-size:29px;
margin:3px 0
}

.rv2-stat small{
color:#64727e;
font-size:10px
}

.rv2-main-grid{
display:grid;
grid-template-columns:minmax(0,1fr) 330px;
gap:20px;
align-items:start
}

.rv2-add-device{
border-color:#403262
}

.rv2-secure-badge{
font-size:9px;
letter-spacing:1px;
padding:6px 9px;
border-radius:999px;
background:#15372f;
border:1px solid #255848;
color:#62e3b2
}

.rv2-device-form{
display:grid;
grid-template-columns:1fr 1fr auto;
gap:10px;
align-items:end;
padding:18px 20px 21px
}

.rv2-device-form label,
.rv2-code-card label{
display:grid;
gap:7px
}

.rv2-device-form label span,
.rv2-code-card label span{
font-size:9px;
font-weight:800;
letter-spacing:1px;
color:#73818f
}

.rv2-device-form input,
.rv2-code-card select{
width:100%;
box-sizing:border-box
}

.rv2-device-form button{
height:39px;
white-space:nowrap
}

.rv2-plans{
overflow:hidden
}

.rv2-plan-list{
padding:8px 18px 15px
}

.rv2-plan{
display:flex;
align-items:center;
justify-content:space-between;
gap:15px;
padding:14px 2px;
border-bottom:1px solid #222d36
}

.rv2-plan:last-child{
border-bottom:0
}

.rv2-plan strong{
display:block;
font-size:12px
}

.rv2-plan div small{
display:block;
margin-top:4px;
color:#687684;
font-size:9px
}

.rv2-plan>span{
min-width:70px;
text-align:center;
padding:8px 10px;
border-radius:9px;
background:#211a34;
color:#bd9cff;
font-weight:900;
font-size:16px
}

.rv2-plan>span small{
display:block;
font-size:8px;
font-weight:600;
color:#82769a
}

.rv2-code-card form{
display:grid;
gap:12px;
padding:18px 20px 21px
}

.rv2-panel-footer{
display:flex;
align-items:center;
justify-content:space-between;
gap:15px;
padding:13px 18px;
border-top:1px solid #222d36;
font-size:10px;
color:#71808c
}

.rv2-panel-footer a{
color:#a989ed;
font-weight:700
}

.rv2-head-actions{
display:flex;
gap:8px;
align-items:center
}

.rv2-bottom-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px
}

.rv2-bottom-grid>.panel{
margin-bottom:0
}

.rv2-transactions{
padding:3px 20px 14px
}

.rv2-transaction{
display:flex;
align-items:center;
justify-content:space-between;
gap:15px;
padding:14px 2px;
border-bottom:1px solid #202b34
}

.rv2-transaction:last-child{
border-bottom:0
}

.rv2-transaction strong{
display:block;
font-size:12px
}

.rv2-transaction small{
display:block;
font-size:9px;
color:#697783;
margin-top:4px
}

.rv2-transaction-value{
text-align:right
}

.rv2-transaction-value b{
font-size:16px
}

@media(max-width:1200px){

.rv2-main-grid{
grid-template-columns:1fr
}

.rv2-main-grid aside{
display:grid;
grid-template-columns:1fr 1fr;
gap:18px
}

}

@media(max-width:900px){

.rv2-hero{
grid-template-columns:1fr
}

.rv2-stats{
grid-template-columns:1fr 1fr
}

.rv2-device-form{
grid-template-columns:1fr
}

.rv2-main-grid aside,
.rv2-bottom-grid{
grid-template-columns:1fr
}

}

@media(max-width:600px){

.rv2-stats{
grid-template-columns:1fr
}

.rv2-welcome{
padding:22px
}

.rv2-welcome h2{
font-size:24px
}

.rv2-hero-actions{
flex-direction:column
}

.rv2-device-head{
align-items:flex-start;
flex-direction:column
}

.rv2-device-head .searchbox{
width:100%
}

.rv2-device-head .searchbox input{
width:100%
}

}

/* Reseller device claim: Device Key only */
.rv2-device-form{
grid-template-columns:minmax(0,1fr) auto;
}


/* =====================================================
   RESELLER DEVICE MANAGEMENT
   ===================================================== */

.reseller-device-card .reseller-key-box{
margin:17px 0;
padding:14px 16px;
border-radius:12px;
border:1px solid #342a4d;
background:#12131c
}

.reseller-device-card .reseller-key-box small{
display:block;
font-size:9px;
font-weight:800;
letter-spacing:1.3px;
color:#756c88;
margin-bottom:6px
}

.reseller-device-card .reseller-key-box strong{
display:block;
font-family:monospace;
font-size:18px;
letter-spacing:1px;
color:#c6a8ff
}


/* Reseller subscription wallet */

.reseller-wallet-strip{
margin-bottom:18px
}

.billing-notice{
margin:14px 0;
padding:11px 13px;
border:1px solid rgba(255,255,255,.09);
border-radius:10px;
font-size:12px;
line-height:1.55;
opacity:.78
}


/* =====================================================
   RESELLER CREDIT HISTORY
   ===================================================== */

.rv2-history-action{
display:flex;
justify-content:flex-end;
margin-bottom:12px
}

.history-wallet{
min-width:190px;
padding:16px 19px;
border-radius:14px;
border:1px solid #61459a;
background:linear-gradient(145deg,#24173d,#121521);
text-align:right
}

.history-wallet small,
.history-wallet span{
display:block;
font-size:9px;
color:#8e84a4
}

.history-wallet strong{
display:block;
font-size:32px;
margin:3px 0;
color:#fff
}

.history-stat-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:13px;
margin-bottom:18px
}

.history-stat{
padding:17px 19px;
border:1px solid #293544;
border-radius:14px;
background:#0d141e
}

.history-stat.debit{
border-color:#59333b
}

.history-stat.credit{
border-color:#245344
}

.history-stat small{
display:block;
font-size:9px;
letter-spacing:.8px;
color:#768496
}

.history-stat strong{
display:block;
font-size:29px;
margin:5px 0
}

.history-stat span{
font-size:9px;
color:#657385
}

.history-head{
align-items:flex-end
}

.history-filters{
display:flex;
gap:8px;
align-items:center
}

.history-filters input{
min-width:240px
}

.history-table{
min-width:820px
}

.history-reason b,
.history-reason small{
display:block
}

.history-type{
display:inline-flex;
padding:5px 8px;
border-radius:7px;
font-size:9px;
font-weight:900;
letter-spacing:.6px
}

.history-type.debit{
background:#3d2028;
color:#ff8294
}

.history-type.credit{
background:#17382f;
color:#61e1ae
}

.history-bottom-actions{
display:flex;
justify-content:space-between;
gap:10px
}

@media(max-width:1000px){

.history-stat-grid{
grid-template-columns:repeat(2,1fr)
}

.history-head{
align-items:flex-start;
flex-direction:column
}

.history-filters{
width:100%;
flex-wrap:wrap
}

.history-filters input{
flex:1;
min-width:200px
}

}

@media(max-width:650px){

.history-stat-grid{
grid-template-columns:1fr
}

.history-wallet{
width:100%;
text-align:left
}

.history-filters{
display:grid;
grid-template-columns:1fr
}

.history-filters input{
min-width:0;
width:100%
}

.history-bottom-actions{
flex-direction:column
}

}

/* =====================================================
   RESELLER DEVICES V3
   ===================================================== */

.reseller-device-v3-hero{
align-items:flex-end
}

.reseller-device-actions{
display:flex;
gap:10px;
align-items:center
}

.reseller-device-stats a{
text-decoration:none;
color:inherit;
transition:.16s ease
}

.reseller-device-stats a:hover{
transform:translateY(-2px);
border-color:#65508d
}

.reseller-device-stats .selected{
box-shadow:
0 0 0 1px rgba(155,102,255,.28),
0 12px 30px rgba(0,0,0,.18)
}

.reseller-device-key-only{
display:grid;
grid-template-columns:minmax(0,1fr) auto;
gap:10px;
padding:18px 20px
}

.reseller-device-key-only input{
width:100%
}

.reseller-device-list-head{
align-items:flex-end
}

.reseller-device-search{
display:flex;
gap:8px;
align-items:center
}

.reseller-device-search input{
min-width:260px
}

.reseller-device-table{
min-width:900px
}

.reseller-device-table td{
vertical-align:middle
}

.reseller-device-table tbody tr:hover td{
background:rgba(122,83,190,.04)
}

.source-count{
display:inline-flex;
min-width:30px;
height:26px;
align-items:center;
justify-content:center;
border-radius:8px;
background:#172029;
border:1px solid #2b3945;
font-weight:800
}

.permission-note{
display:flex;
gap:8px;
align-items:center;
padding:12px 15px;
border:1px solid #28453d;
border-radius:12px;
background:rgba(33,78,66,.08);
font-size:10px;
color:#788799
}

.permission-note b{
color:#78d8b5
}

@media(max-width:900px){

.reseller-device-v3-hero{
align-items:flex-start;
flex-direction:column
}

.reseller-device-actions{
width:100%;
justify-content:space-between
}

.reseller-device-list-head{
align-items:flex-start;
flex-direction:column
}

.reseller-device-search{
width:100%;
flex-wrap:wrap
}

.reseller-device-search input{
flex:1;
min-width:200px
}

}

@media(max-width:600px){

.reseller-device-actions{
align-items:stretch;
flex-direction:column
}

.reseller-device-key-only{
grid-template-columns:1fr
}

.reseller-device-search{
display:grid;
grid-template-columns:1fr
}

.reseller-device-search input{
min-width:0;
width:100%
}

}

/* =====================================================
   RESELLER DASHBOARD V3
   ===================================================== */

.rv3-hero{
display:flex;
justify-content:space-between;
align-items:center;
gap:25px;
padding:25px;
margin-bottom:17px;
border:1px solid #33264e;
border-radius:17px;
background:
radial-gradient(circle at 88% 20%,rgba(136,76,230,.17),transparent 32%),
linear-gradient(135deg,#111722,#0b1018)
}

.rv3-welcome h2{
font-size:27px;
margin:5px 0 7px
}

.rv3-welcome p{
margin:0;
color:#7e8b9b
}

.rv3-wallet{
min-width:225px;
padding:17px 20px;
border-radius:15px;
border:1px solid #7147b1;
background:linear-gradient(145deg,#291847,#151525)
}

.rv3-wallet small,
.rv3-wallet span{
display:block;
font-size:9px;
color:#9489aa
}

.rv3-wallet strong{
display:block;
font-size:36px;
margin:3px 0;
color:#fff
}

.rv3-wallet a{
display:block;
margin-top:10px;
font-size:10px;
color:#b995ff
}

.rv3-metrics{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:12px;
margin-bottom:18px
}

.rv3-stat{
padding:17px;
border:1px solid #293544;
border-radius:14px;
background:#0d141e;
color:inherit;
text-decoration:none;
transition:.15s ease
}

.rv3-stat:hover{
transform:translateY(-2px);
border-color:#695092
}

.rv3-stat span{
font-size:9px;
color:#788697
}

.rv3-stat strong{
display:block;
font-size:29px;
margin:5px 0
}

.rv3-stat small{
color:#637184;
font-size:9px
}

.rv3-stat.active{border-color:#235042}
.rv3-stat.expiring{border-color:#624b21}
.rv3-stat.expired{border-color:#60313c}
.rv3-stat.pending{border-color:#533a78}

.rv3-action-grid{
display:grid;
grid-template-columns:1.15fr 1fr .85fr;
gap:17px;
margin-bottom:18px
}

.rv3-action-card{
padding:21px;
margin:0
}

.rv3-action-card h3{
margin:6px 0;
font-size:18px
}

.rv3-action-card p{
margin:0 0 15px;
color:#7b8999;
font-size:11px;
line-height:1.5
}

.rv3-action-card form{
display:grid;
grid-template-columns:1fr auto;
gap:9px
}

.rv3-link-list{
display:grid;
gap:7px;
margin-top:14px
}

.rv3-link-list>a{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
padding:10px 11px;
border-radius:9px;
background:#0a1017;
border:1px solid #273240
}

.rv3-link-list>a:hover{
border-color:#4c3a70
}

.rv3-link-list b,
.rv3-link-list small{
display:block
}

.rv3-link-list b{
font-size:11px
}

.rv3-link-list small{
font-size:8px;
color:#697688;
margin-top:3px
}

.rv3-link-list>a>span{
color:#a078e4
}

.rv3-bottom-grid{
display:grid;
grid-template-columns:1.2fr .8fr;
gap:18px
}

.rv3-bottom-grid>.panel{
margin:0
}

.rv3-transaction-list{
padding:0 18px 14px
}

.rv3-transaction{
display:grid;
grid-template-columns:1fr 70px 100px;
align-items:center;
gap:12px;
padding:13px 2px;
border-bottom:1px solid #202a35
}

.rv3-transaction b,
.rv3-transaction small{
display:block
}

.rv3-transaction small{
font-size:8px;
margin-top:3px;
color:#697688
}

.rv3-transaction>strong,
.rv3-transaction>span{
text-align:right
}

.rv3-transaction>span{
font-size:9px;
color:#718091
}

.rv3-device-list{
padding:0 18px 14px
}

.rv3-device-list>a{
display:flex;
justify-content:space-between;
align-items:center;
gap:12px;
padding:12px 2px;
border-bottom:1px solid #202a35
}

.rv3-device-list b,
.rv3-device-list small{
display:block
}

.rv3-device-list small{
margin-top:3px;
font-size:8px;
color:#6c7988
}

@media(max-width:1200px){

.rv3-metrics{
grid-template-columns:repeat(3,1fr)
}

.rv3-action-grid{
grid-template-columns:1fr 1fr
}

.rv3-shortcuts{
grid-column:1/-1
}

}

@media(max-width:900px){

.rv3-hero{
align-items:flex-start;
flex-direction:column
}

.rv3-wallet{
width:100%
}

.rv3-bottom-grid{
grid-template-columns:1fr
}

}

@media(max-width:700px){

.rv3-metrics,
.rv3-action-grid{
grid-template-columns:1fr
}

.rv3-shortcuts{
grid-column:auto
}

.rv3-action-card form{
grid-template-columns:1fr
}

.rv3-transaction{
grid-template-columns:1fr auto
}

.rv3-transaction>span{
display:none
}

}

/* ============================
   ADMIN DASHBOARD V3
   ============================ */

.av3-metrics{
display:grid;
grid-template-columns:repeat(6,1fr);
gap:12px;
margin:16px 0 18px
}

.av3-metric{
display:block;
padding:17px;
border:1px solid #293544;
border-radius:14px;
background:#0d141e;
text-decoration:none;
color:inherit;
transition:.15s ease
}

.av3-metric:hover{
transform:translateY(-2px);
border-color:#6d5198
}

.av3-metric span{
font-size:9px;
color:#7c8998
}

.av3-metric strong{
display:block;
font-size:29px;
margin:5px 0
}

.av3-metric small{
font-size:9px;
color:#687587
}

.av3-metric.good-card{border-color:#235143}
.av3-metric.warn-card{border-color:#624b21}
.av3-metric.bad-card{border-color:#60313c}
.av3-metric.purple-card{border-color:#533a78}

.av3-command-grid{
display:grid;
grid-template-columns:1.1fr 1.2fr .7fr;
gap:17px;
margin-bottom:18px
}

.av3-command-grid>.panel{
margin:0;
padding:21px
}

.av3-command-grid h3{
margin:6px 0 10px
}

.av3-wallet>strong{
display:block;
font-size:43px;
margin:7px 0
}

.av3-wallet p{
color:#758394;
font-size:10px
}

.av3-wallet-actions{
display:flex;
gap:8px;
margin-top:18px
}

.av3-links{
display:grid;
grid-template-columns:1fr 1fr;
gap:8px
}

.av3-links>a{
display:flex;
align-items:center;
justify-content:space-between;
padding:11px;
border:1px solid #273240;
border-radius:10px;
background:#0a1017
}

.av3-links>a:hover{
border-color:#59427e
}

.av3-links b,
.av3-links small{
display:block
}

.av3-links small{
font-size:8px;
color:#697688;
margin-top:3px
}

.av3-links>a>span{
color:#a078e4
}

.av3-network-number{
font-size:42px;
font-weight:800;
margin-top:16px
}

.av3-network-number small{
font-size:10px;
font-weight:400;
color:#718092
}

.av3-network-sub{
font-size:10px;
color:#748294;
margin-bottom:18px
}

.av3-bottom-grid{
display:grid;
grid-template-columns:1.2fr .8fr;
gap:18px;
margin-bottom:18px
}

.av3-bottom-grid>.panel{
margin:0
}

.av3-reseller-list{
padding:0 18px 15px
}

.av3-reseller-list>a{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
padding:12px 2px;
border-bottom:1px solid #202a35
}

.av3-reseller-list b,
.av3-reseller-list small{
display:block
}

.av3-reseller-list small{
font-size:8px;
color:#6e7a89;
margin-top:3px
}

@media(max-width:1250px){
.av3-metrics{
grid-template-columns:repeat(3,1fr)
}

.av3-command-grid{
grid-template-columns:1fr 1fr
}

.av3-network{
grid-column:1/-1
}
}

@media(max-width:850px){
.av3-command-grid,
.av3-bottom-grid{
grid-template-columns:1fr
}

.av3-network{
grid-column:auto
}
}

@media(max-width:650px){
.av3-metrics{
grid-template-columns:1fr 1fr
}

.av3-links{
grid-template-columns:1fr
}

.av3-wallet-actions{
flex-direction:column
}
}

/* ============================================
   RESELLER MANAGEMENT V3
   ============================================ */

.rm3-hero{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
padding:22px 24px;
margin-bottom:16px;
border:1px solid #302844;
border-radius:16px;
background:
radial-gradient(circle at 85% 10%,rgba(118,75,190,.14),transparent 34%),
#0d131c
}

.rm3-hero h2{
margin:5px 0;
font-size:25px
}

.rm3-hero p{
margin:0;
color:#778596;
font-size:10px
}

.rm3-status{
display:flex;
align-items:center;
gap:10px
}

.rm3-metrics{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:12px;
margin-bottom:18px
}

.rm3-metric{
padding:17px;
border:1px solid #293544;
border-radius:13px;
background:#0c131c
}

.rm3-metric span{
font-size:9px;
color:#7a8797
}

.rm3-metric strong{
display:block;
font-size:28px;
margin:5px 0
}

.rm3-metric small{
font-size:9px;
color:#657284
}

.rm3-metric.wallet{
border-color:#593d82
}

.rm3-metric.active{
border-color:#245043
}

.rm3-metric.warning{
border-color:#604a21
}

.rm3-metric.danger{
border-color:#5d303a
}

.rm3-control-grid{
display:grid;
grid-template-columns:1.45fr .8fr .75fr;
gap:17px;
margin-bottom:18px
}

.rm3-control-grid>.panel{
margin:0;
padding:20px
}

.rm3-big-balance{
font-size:31px;
font-weight:800
}

.rm3-big-balance small{
display:block;
font-size:8px;
font-weight:400;
color:#748192;
text-align:right
}

.rm3-credit-form{
display:grid;
grid-template-columns:.8fr .7fr 1.4fr auto;
gap:10px;
align-items:end
}

.rm3-credit-form label,
.rm3-password-form label{
font-size:9px;
color:#758395
}

.rm3-credit-form input,
.rm3-credit-form select{
width:100%;
margin-top:6px
}

.rm3-password-form{
display:grid;
gap:9px;
margin-top:15px
}

.rm3-password-form input{
width:100%
}

.rm3-security-panel p,
.rm3-access-panel p{
color:#738091;
font-size:10px;
line-height:1.5
}

.rm3-finance-summary{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:10px;
margin-bottom:18px
}

.rm3-finance-summary>div{
padding:14px 16px;
border:1px solid #273340;
border-radius:11px;
background:#0b121a
}

.rm3-finance-summary span{
font-size:8px;
color:#6f7d8e
}

.rm3-finance-summary strong{
display:block;
font-size:18px;
margin-top:4px
}

.credit-plus{
color:#70d4aa
}

.credit-minus{
color:#e78a9a
}

@media(max-width:1150px){

.rm3-control-grid{
grid-template-columns:1fr 1fr
}

.rm3-wallet-panel{
grid-column:1/-1
}

.rm3-credit-form{
grid-template-columns:1fr 1fr
}

.rm3-reason{
grid-column:1/-1
}

}

@media(max-width:800px){

.rm3-hero{
align-items:flex-start;
flex-direction:column
}

.rm3-status{
width:100%;
justify-content:space-between
}

.rm3-metrics{
grid-template-columns:1fr 1fr
}

.rm3-control-grid{
grid-template-columns:1fr
}

.rm3-wallet-panel{
grid-column:auto
}

.rm3-finance-summary{
grid-template-columns:1fr 1fr
}

}

@media(max-width:600px){

.rm3-credit-form{
grid-template-columns:1fr
}

.rm3-reason{
grid-column:auto
}

.rm3-finance-summary{
grid-template-columns:1fr
}

}

/* ============================================
   ACTIVATION REQUESTS V3
   ============================================ */

.request-wallet{
min-width:180px;
padding:14px 18px;
border:1px solid #593d82;
border-radius:13px;
background:#151224
}

.request-wallet small{
display:block;
font-size:8px;
color:#807490
}

.request-wallet strong{
display:block;
font-size:27px;
margin-top:4px
}

.request-v3-metrics{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:11px;
margin-bottom:18px
}

.request-v3-stat{
text-align:left;
padding:15px 17px;
border:1px solid #293542;
border-radius:13px;
background:#0c131c;
color:inherit;
cursor:pointer;
font:inherit;
transition:.15s ease
}

.request-v3-stat:hover{
transform:translateY(-2px);
border-color:#665087
}

.request-v3-stat.selected{
box-shadow:
0 0 0 1px rgba(153,101,240,.32),
0 10px 25px rgba(0,0,0,.18)
}

.request-v3-stat span{
font-size:8px;
color:#788697
}

.request-v3-stat strong{
display:block;
font-size:26px;
margin:4px 0
}

.request-v3-stat small{
font-size:8px;
color:#657284
}

.request-v3-stat.warning{
border-color:#604a21
}

.request-v3-stat.success{
border-color:#245043
}

.request-v3-stat.danger{
border-color:#5c303a
}

.request-credit-cost{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:27px;
height:24px;
padding:0 7px;
border:1px solid #614a88;
border-radius:7px;
background:#171221;
font-weight:800
}

.request-note{
max-width:230px;
white-space:normal
}

.request-actions{
display:flex;
gap:6px;
align-items:center
}

.request-actions form{
margin:0
}

.request-v3-note{
display:flex;
gap:7px;
align-items:center;
padding:12px 14px;
border:1px solid #27443b;
border-radius:11px;
background:rgba(28,70,59,.08);
font-size:9px;
color:#718091
}

.request-v3-note b{
color:#70d1ae
}

@media(max-width:850px){

.request-v3-metrics{
grid-template-columns:1fr 1fr
}

.request-actions{
align-items:stretch;
flex-direction:column
}

}

@media(max-width:520px){

.request-v3-metrics{
grid-template-columns:1fr
}

}

/* =====================================
   AUDIT & SECURITY V3
   ===================================== */

.audit-v3-live{
display:flex;
align-items:center;
gap:8px;
font-size:10px;
color:#79cdb2
}

.audit-v3-metrics{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:11px;
margin-bottom:13px
}

.audit-v3-stat{
text-align:left;
padding:15px 16px;
border:1px solid #293542;
border-radius:13px;
background:#0c131c;
color:inherit;
cursor:pointer;
font:inherit;
transition:.15s ease
}

.audit-v3-stat:hover{
transform:translateY(-2px);
border-color:#624987
}

.audit-v3-stat.selected{
box-shadow:
0 0 0 1px rgba(153,101,240,.3),
0 9px 25px rgba(0,0,0,.18)
}

.audit-v3-stat.success{
border-color:#245043
}

.audit-v3-stat.warning{
border-color:#654b25
}

.audit-v3-stat.purple{
border-color:#553978
}

.audit-v3-stat span{
font-size:8px;
color:#778596
}

.audit-v3-stat strong{
display:block;
font-size:27px;
margin:4px 0
}

.audit-v3-stat small{
font-size:8px;
color:#657283
}

.audit-v3-actor-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:10px;
margin-bottom:18px
}

.audit-v3-actor-grid>div{
padding:12px 15px;
border:1px solid #26313d;
border-radius:10px;
background:#0a1119
}

.audit-v3-actor-grid span{
font-size:8px;
color:#6f7c8c
}

.audit-v3-actor-grid strong{
display:block;
font-size:18px;
margin-top:3px
}

.audit-actor{
display:inline-block;
padding:4px 7px;
border-radius:6px;
font-size:8px;
font-weight:800
}

.audit-actor.admin{
background:rgba(130,89,205,.15);
color:#b88cef
}

.audit-actor.reseller{
background:rgba(52,135,191,.14);
color:#75bce8
}

.audit-actor.system{
background:rgba(116,126,139,.13);
color:#9ba5b1
}

.audit-category{
display:inline-flex;
align-items:center;
padding:4px 6px;
border:1px solid #303c49;
border-radius:6px;
font-size:7px;
font-weight:800
}

.audit-category.activation{
border-color:#28584a;
color:#70d4aa
}

.audit-category.credit{
border-color:#59417c;
color:#b994ef
}

.audit-category.device{
border-color:#315169;
color:#79bee7
}

.audit-category.reseller{
border-color:#414b69;
color:#9aa8e8
}

.audit-category.plan{
border-color:#624d28;
color:#dcbb73
}

.audit-category.security{
border-color:#63323b;
color:#ed8f9d
}

.audit-detail-text{
display:block;
max-width:420px;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap
}

.audit-security-panel{
border-color:#493139
}

.audit-v3-info{
display:grid;
grid-template-columns:1fr 1fr;
gap:10px
}

.audit-v3-info>div{
padding:12px 14px;
border:1px solid #27333e;
border-radius:10px;
background:#0a1118;
font-size:9px
}

.audit-v3-info b,
.audit-v3-info span{
display:block
}

.audit-v3-info span{
margin-top:3px;
color:#6c7989
}

@media(max-width:1100px){

.audit-v3-metrics{
grid-template-columns:repeat(3,1fr)
}

}

@media(max-width:750px){

.audit-v3-metrics{
grid-template-columns:1fr 1fr
}

.audit-v3-actor-grid,
.audit-v3-info{
grid-template-columns:1fr
}

}

@media(max-width:500px){

.audit-v3-metrics{
grid-template-columns:1fr
}

}

/* ============================================
   ACTIVATION CODES V3
   ============================================ */

.codes-v3-wallet{
min-width:175px;
padding:13px 17px;
border:1px solid #593d82;
border-radius:12px;
background:#151221
}

.codes-v3-wallet small{
display:block;
font-size:8px;
color:#817590
}

.codes-v3-wallet strong{
display:block;
font-size:27px;
margin-top:4px
}

.codes-v3-metrics{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:11px;
margin-bottom:18px
}

.codes-v3-stat{
text-align:left;
padding:15px 17px;
border:1px solid #293542;
border-radius:13px;
background:#0c131c;
color:inherit;
font:inherit;
cursor:pointer;
transition:.15s ease
}

.codes-v3-stat:hover{
transform:translateY(-2px);
border-color:#664d89
}

.codes-v3-stat.selected{
box-shadow:
0 0 0 1px rgba(153,101,240,.3),
0 9px 24px rgba(0,0,0,.18)
}

.codes-v3-stat.warning{
border-color:#604a21
}

.codes-v3-stat.success{
border-color:#255044
}

.codes-v3-stat span{
display:block;
font-size:8px;
color:#778596
}

.codes-v3-stat strong{
display:block;
font-size:27px;
margin:4px 0
}

.codes-v3-stat small{
font-size:8px;
color:#657284
}

.codes-v3-create{
border-color:#483666
}

.codes-v3-create-form{
display:grid;
grid-template-columns:minmax(260px,520px) auto;
gap:12px;
align-items:end
}

.codes-v3-create-form label{
font-size:9px;
color:#788596
}

.codes-v3-create-form select{
display:block;
width:100%;
margin-top:6px
}

.codes-v3-code code{
font-size:12px;
font-weight:800;
letter-spacing:.7px;
color:#c2a4f2
}

.codes-v3-security{
display:grid;
grid-template-columns:1fr 1fr;
gap:10px
}

.codes-v3-security>div{
padding:12px 14px;
border:1px solid #27343f;
border-radius:10px;
background:#0a1118
}

.codes-v3-security b,
.codes-v3-security span{
display:block;
font-size:9px
}

.codes-v3-security span{
color:#6e7b8b;
margin-top:3px
}

@media(max-width:800px){

.codes-v3-metrics{
grid-template-columns:1fr 1fr
}

.codes-v3-create-form,
.codes-v3-security{
grid-template-columns:1fr
}

}

@media(max-width:500px){

.codes-v3-metrics{
grid-template-columns:1fr
}

}

/* ============================================
   CREDIT HISTORY / WALLET V3
   ============================================ */

.wallet-v3-balance{
min-width:180px;
padding:13px 18px;
border:1px solid #563d7b;
border-radius:13px;
background:#151221
}

.wallet-v3-balance small{
display:block;
font-size:8px;
color:#837594
}

.wallet-v3-balance strong{
font-size:29px;
line-height:1;
display:inline-block;
margin-top:6px
}

.wallet-v3-balance span{
font-size:9px;
color:#7d718b
}

.wallet-v3-metrics{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:11px;
margin-bottom:18px
}

.wallet-v3-stat{
text-align:left;
padding:15px 17px;
border:1px solid #293542;
border-radius:13px;
background:#0c131c;
color:inherit;
cursor:pointer;
font:inherit;
transition:.15s ease
}

.wallet-v3-stat:hover{
transform:translateY(-2px);
border-color:#624b82
}

.wallet-v3-stat.selected{
box-shadow:
0 0 0 1px rgba(153,101,240,.30),
0 10px 25px rgba(0,0,0,.18)
}

.wallet-v3-stat.positive{
border-color:#285244
}

.wallet-v3-stat.negative{
border-color:#60333e
}

.wallet-v3-stat.purple{
border-color:#563b79
}

.wallet-v3-stat span{
display:block;
font-size:8px;
color:#778596
}

.wallet-v3-stat strong{
display:block;
font-size:27px;
margin:4px 0
}

.wallet-v3-stat small{
font-size:8px;
color:#657283
}

.wallet-type{
display:inline-flex;
padding:4px 7px;
border-radius:6px;
font-size:7px;
font-weight:800
}

.wallet-type.added{
border:1px solid #285748;
color:#71d3ad;
background:rgba(43,111,89,.08)
}

.wallet-type.deducted{
border:1px solid #66343e;
color:#ea8996;
background:rgba(111,50,63,.08)
}

.wallet-type.subscription{
border:1px solid #594078;
color:#bc96ee;
background:rgba(90,58,127,.09)
}

.wallet-amount{
font-family:monospace
}

.wallet-amount.plus{
color:#6bd0a8
}

.wallet-amount.minus{
color:#e88392
}

.wallet-reason{
max-width:400px;
white-space:normal
}

.wallet-actor{
font-size:8px;
color:#9aa6b3
}

.wallet-v3-info{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:10px
}

.wallet-v3-info>div{
padding:12px 14px;
border:1px solid #26333e;
border-radius:10px;
background:#0a1118
}

.wallet-v3-info b,
.wallet-v3-info span{
display:block;
font-size:9px
}

.wallet-v3-info span{
margin-top:4px;
color:#6d7a89
}

@media(max-width:850px){

.wallet-v3-metrics{
grid-template-columns:1fr 1fr
}

.wallet-v3-info{
grid-template-columns:1fr
}

}

@media(max-width:500px){

.wallet-v3-metrics{
grid-template-columns:1fr
}

}

/* =========================================================
   VANTA RESELLER APP DOWNLOAD
   ========================================================= */
.vanta-download-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin:16px 0;
    padding:22px 24px;
    border:1px solid rgba(130,92,255,.35);
    background:
        radial-gradient(circle at 90% 10%,rgba(123,78,255,.16),transparent 35%),
        rgba(14,22,31,.92);
}

.vanta-download-info h2{
    margin:4px 0 5px;
}

.vanta-download-info p{
    margin:0;
    opacity:.72;
}

.vanta-download-action{
    flex-shrink:0;
}

.vanta-download-btn{
    min-width:170px;
    text-align:center;
    font-weight:700;
}

@media(max-width:700px){
    .vanta-download-card{
        flex-direction:column;
        align-items:stretch;
    }

    .vanta-download-action,
    .vanta-download-btn{
        width:100%;
    }
}

/* =========================================================
   CUSTOMER PLAYLIST SECURITY LOCK
   ========================================================= */

.playlist-lock-grid{
  display:grid;
  gap:16px;
}

.playlist-lock-card{
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  padding:18px;
  background:rgba(9,16,24,.55);
}

.playlist-lock-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.playlist-lock-head>div{
  display:flex;
  align-items:center;
  gap:10px;
}

.lock-state{
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}

.lock-state.locked{
  background:rgba(255,90,90,.10);
  border:1px solid rgba(255,90,90,.25);
}

.lock-state.open{
  background:rgba(72,210,143,.10);
  border:1px solid rgba(72,210,143,.25);
}

.locked-box{
  padding:24px;
  text-align:center;
  border-radius:14px;
  border:1px dashed rgba(255,255,255,.12);
}

.lock-icon{
  font-size:30px;
  margin-bottom:8px;
}

.locked-box p{
  opacity:.7;
}

.lock-form{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.lock-form input{
  flex:1;
  min-width:160px;
}

.credential-box{
  display:grid;
  gap:12px;
}

.credential-row{
  display:flex;
  gap:8px;
}

.credential-row input{
  flex:1;
}

.playlist-lock-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:15px;
}

.playlist-lock-actions form{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.set-lock-details{
  margin-top:15px;
}

.set-lock-details summary{
  cursor:pointer;
  font-weight:700;
}

@media(max-width:650px){
  .playlist-lock-head,
  .credential-row,
  .lock-form,
  .playlist-lock-actions,
  .playlist-lock-actions form{
    flex-direction:column;
    align-items:stretch;
  }
}

/* === VANTA PLAYLIST PROTECT V2 === */

.vp-protect{
    margin:12px 0 16px;
    padding:14px 15px;
    border:1px solid rgba(148,163,184,.18);
    border-radius:12px;
    background:rgba(255,255,255,.018);
}

.vp-protect-toggle{
    display:flex;
    align-items:flex-start;
    gap:11px;
    cursor:pointer;
    margin:0;
}

.vp-protect-toggle > input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.vp-protect-check{
    width:19px;
    height:19px;
    flex:0 0 19px;
    border-radius:5px;
    border:1px solid #526174;
    margin-top:1px;
    position:relative;
    transition:.18s ease;
}

.vp-protect-toggle input:checked + .vp-protect-check{
    background:#7c3aed;
    border-color:#8b5cf6;
}

.vp-protect-toggle input:checked + .vp-protect-check:after{
    content:"✓";
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    font-size:12px;
    font-weight:900;
    color:#fff;
}

.vp-protect-toggle b{
    display:block;
    font-size:13px;
    color:#f8fafc;
    margin-bottom:3px;
}

.vp-protect-toggle small{
    display:block;
    color:#8291a6;
    font-size:11px;
    line-height:1.45;
}

.vp-pin-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:13px;
    padding-top:13px;
    border-top:1px solid rgba(148,163,184,.12);
}

.vp-lock-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-inline-start:7px;
    font-size:12px;
    vertical-align:middle;
}

.vp-action-lock{
    border-color:rgba(245,158,11,.25)!important;
    color:#fbbf24!important;
}

.vp-unlock-box{
    margin-top:13px;
    padding:14px;
    border:1px solid rgba(245,158,11,.18);
    background:rgba(245,158,11,.035);
    border-radius:12px;
}

.vp-unlock-title{
    display:flex;
    gap:10px;
    align-items:center;
    margin-bottom:12px;
}

.vp-unlock-icon{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:rgba(245,158,11,.10);
}

.vp-unlock-title b{
    display:block;
    font-size:13px;
    color:#f8fafc;
}

.vp-unlock-title small{
    display:block;
    margin-top:2px;
    color:#8492a6;
    font-size:10px;
}

.vp-unlock-form{
    display:grid;
    grid-template-columns:minmax(160px,1fr) auto;
    gap:9px;
}

.vp-unlocked-note{
    display:flex;
    align-items:center;
    gap:7px;
    margin:5px 0 12px;
    color:#34d399;
    font-size:11px;
}

@media(max-width:700px){
    .vp-pin-fields,
    .vp-unlock-form{
        grid-template-columns:1fr;
    }
}

/* === END VANTA PLAYLIST PROTECT V2 === */

/* === VANTA PLAYLIST LOCK V3 === */

.vp-lock-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-inline-start:7px;
    font-size:13px;
    vertical-align:middle;
    opacity:.95;
}

.vp-unlock-box{
    margin-top:14px;
    padding:16px;
    border:1px solid rgba(139,92,246,.25);
    border-radius:16px;
    background:rgba(15,17,27,.72);
}

.vp-unlock-title{
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:800;
    margin-bottom:5px;
}

.vp-unlock-help{
    opacity:.72;
    font-size:13px;
    margin:0 0 12px;
}

.vp-unlock-box input{
    width:100%;
}

/* === END VANTA PLAYLIST LOCK V3 === */

/* === VANTA PLAYLIST LOCK V3 === */

.vp-lock-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-inline-start:7px;
    font-size:13px;
    vertical-align:middle;
    opacity:.95;
}

.vp-unlock-box{
    margin-top:14px;
    padding:16px;
    border:1px solid rgba(139,92,246,.25);
    border-radius:16px;
    background:rgba(15,17,27,.72);
}

.vp-unlock-title{
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:800;
    margin-bottom:5px;
}

.vp-unlock-help{
    opacity:.72;
    font-size:13px;
    margin:0 0 12px;
}

.vp-unlock-box input{
    width:100%;
}

/* === END VANTA PLAYLIST LOCK V3 === */


/* =========================================================
   VANTA CONTROL — THEME SWITCH
   Dark mode remains the original/default design.
   Light mode is intentionally isolated as an override layer.
   ========================================================= */

.theme-toggle{
  width:38px;
  height:38px;
  padding:0;
  display:grid;
  place-items:center;
  flex:0 0 38px;
  border-radius:10px;
  border:1px solid #2b3944;
  background:#121a21;
  color:#dce6ef;
  cursor:pointer;
  font-size:18px;
  line-height:1;
  box-shadow:none;
  transition:
    background .18s ease,
    border-color .18s ease,
    transform .18s ease;
}

.theme-toggle:hover{
  border-color:#65508d;
  background:#18222c;
  transform:translateY(-1px);
}


/* ---------- LIGHT MODE ---------- */

html[data-theme="light"]{
  --bg:#f4f7fb;
  --surface:#ffffff;
  --surface2:#f7f9fc;
  --line:#dce3eb;
  --text:#17202b;
  --muted:#6d7b8b;
}

html[data-theme="light"] body.admin-body{
  color:#17202b;
  background:
    radial-gradient(circle at 72% 8%,rgba(33,216,232,.08) 0,transparent 27%),
    radial-gradient(circle at 30% 30%,rgba(154,99,255,.07) 0,transparent 28%),
    #f4f7fb;
}

html[data-theme="light"] .sidebar{
  background:rgba(255,255,255,.94);
  border-right-color:#dce3eb;
  box-shadow:8px 0 30px rgba(30,50,70,.04);
}

html[data-theme="light"] .brand-lockup{
  color:#17202b;
}

html[data-theme="light"] .brand-lockup small{
  color:#8793a0;
}

html[data-theme="light"] .side-nav a{
  color:#6e7c8b;
}

html[data-theme="light"] .side-nav a span{
  color:#8492a0;
}

html[data-theme="light"] .side-nav a:hover,
html[data-theme="light"] .side-nav a.active{
  color:#176f7c;
  background:linear-gradient(90deg,#e5f8fa,#eef8f9);
  box-shadow:inset 3px 0 0 var(--cyan);
}

html[data-theme="light"] .side-nav a.active span{
  color:#1295a4;
}

html[data-theme="light"] .side-bottom{
  border-top-color:#dce3eb;
}

html[data-theme="light"] .avatar{
  background:#e7f5f6;
  color:#168896;
}

html[data-theme="light"] .logout{
  color:#7b8794;
}

html[data-theme="light"] .topbar{
  background:rgba(255,255,255,.86);
  border-bottom-color:#dce3eb;
  box-shadow:0 5px 25px rgba(35,55,75,.035);
}

html[data-theme="light"] .topbar h1{
  color:#17202b;
}

html[data-theme="light"] .eyebrow{
  color:#8492a0;
}

html[data-theme="light"] .top-user{
  color:#596878;
}

html[data-theme="light"] .global-search,
html[data-theme="light"] .searchbox{
  background:#f5f8fb;
  border-color:#d5dee7;
  color:#81909e;
}

html[data-theme="light"] .global-search input,
html[data-theme="light"] .searchbox input{
  color:#17202b;
}

html[data-theme="light"] .theme-toggle{
  background:#f5f8fb;
  border-color:#d5dee7;
  color:#485767;
}

html[data-theme="light"] .theme-toggle:hover{
  background:#edf2f7;
  border-color:#bfcbd7;
}

html[data-theme="light"] .panel,
html[data-theme="light"] .metric,
html[data-theme="light"] .reseller-metric,
html[data-theme="light"] .device-stat,
html[data-theme="light"] .plan-summary,
html[data-theme="light"] .profile-metrics>div,
html[data-theme="light"] .request-stats>div{
  background:#ffffff;
  border-color:#dce3eb;
  box-shadow:0 10px 32px rgba(31,50,70,.055);
}

html[data-theme="light"] .panel-head{
  border-bottom-color:#e2e8ef;
}

html[data-theme="light"] .panel-head h2,
html[data-theme="light"] .metric strong,
html[data-theme="light"] .reseller-metric strong,
html[data-theme="light"] .device-stat strong,
html[data-theme="light"] .plan-summary strong,
html[data-theme="light"] .profile-metrics strong{
  color:#17202b;
}

html[data-theme="light"] th{
  color:#758392;
  background:#f5f7fa;
}

html[data-theme="light"] th,
html[data-theme="light"] td{
  border-bottom-color:#e4e9ef;
}

html[data-theme="light"] td{
  color:#586776;
}

html[data-theme="light"] td b{
  color:#202a35;
}

html[data-theme="light"] td small{
  color:#7b8895;
}

html[data-theme="light"] .clean-table tr:hover td{
  background:#f7f4fc;
}

html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea{
  background:#ffffff;
  border-color:#d4dde6;
  color:#25303b;
}

html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder{
  color:#98a3ae;
}

html[data-theme="light"] .btn.secondary{
  background:#f3f6f9;
  border-color:#d3dce5;
  color:#4d5c6b;
}

html[data-theme="light"] .action-pop,
html[data-theme="light"] .reseller-action-pop{
  background:#ffffff;
  border-color:#d7e0e8;
  box-shadow:0 18px 45px rgba(30,45,65,.15);
}

html[data-theme="light"] .flash,
html[data-theme="light"] .flash-wrap .flash{
  background:#f2edff;
  border-color:#cfc0f1;
  color:#64499b;
}

html[data-theme="light"] .count-badge{
  background:#eaf8fa;
  color:#167887;
  border-color:#bee5e9;
}

html[data-theme="light"] .pill.good,
html[data-theme="light"] .good{
  background:#e4f7ef;
  color:#167853;
}

html[data-theme="light"] .pill.bad,
html[data-theme="light"] .bad{
  background:#fdecef;
  color:#b43e53;
}

html[data-theme="light"] .pill.warn,
html[data-theme="light"] .warn{
  background:#fff4d9;
  color:#8b6514;
}

html[data-theme="light"] .pill.off,
html[data-theme="light"] .off,
html[data-theme="light"] .pill.neutral{
  background:#edf1f5;
  color:#687786;
}

html[data-theme="light"] .page-intro p,
html[data-theme="light"] .page-hero p,
html[data-theme="light"] .plans-hero p,
html[data-theme="light"] .role-hero p,
html[data-theme="light"] .quick-card p,
html[data-theme="light"] .manage-card p{
  color:#718090;
}

html[data-theme="light"] .manage-hero,
html[data-theme="light"] .role-hero{
  background:
    radial-gradient(circle at 85% 20%,rgba(125,67,230,.08),transparent 32%),
    #ffffff;
  border-color:#ddd5ec;
}

html[data-theme="light"] .manage-key{
  color:#716b7d;
}

html[data-theme="light"] .plan-card,
html[data-theme="light"] .source-card,
html[data-theme="light"] .quick-card{
  background:#ffffff;
  border-color:#dce3eb;
}

html[data-theme="light"] .plan-facts>div,
html[data-theme="light"] .rule-grid>div{
  background:#f6f8fa;
  border-color:#dfe5eb;
}

html[data-theme="light"] .transaction-row,
html[data-theme="light"] .simple-list>div{
  border-bottom-color:#e3e8ee;
}


/* Keep login/customer portal untouched.
   Theme switch is only for authenticated control panel. */

@media(max-width:760px){
  .theme-toggle{
    width:36px;
    height:36px;
    flex-basis:36px;
  }
}


/* =========================================================
   VANTA LIGHT THEME — POLISH V2
   ========================================================= */

html[data-theme="light"] body.admin-body{
  background:#f6f8fb;
}

/* Main dashboard hero */
html[data-theme="light"] .page-hero,
html[data-theme="light"] .dashboard-hero,
html[data-theme="light"] .admin-hero{
  background:#ffffff;
  border-color:#dce3ea;
  box-shadow:0 6px 22px rgba(32,48,65,.045);
}

/* Dashboard statistic cards */
html[data-theme="light"] .metric,
html[data-theme="light"] .reseller-metric,
html[data-theme="light"] .device-stat{
  background:#ffffff !important;
  color:#17202b !important;
  border-color:#dce3ea !important;
  box-shadow:0 6px 20px rgba(32,48,65,.05) !important;
}

html[data-theme="light"] .metric strong,
html[data-theme="light"] .metric b,
html[data-theme="light"] .metric h2,
html[data-theme="light"] .metric h3,
html[data-theme="light"] .reseller-metric strong,
html[data-theme="light"] .device-stat strong{
  color:#17202b !important;
}

html[data-theme="light"] .metric span,
html[data-theme="light"] .metric small,
html[data-theme="light"] .reseller-metric span,
html[data-theme="light"] .reseller-metric small,
html[data-theme="light"] .device-stat span,
html[data-theme="light"] .device-stat small{
  color:#738190 !important;
}

/* Preserve status identity with subtle borders */
html[data-theme="light"] .metric.good,
html[data-theme="light"] .device-stat.good{
  border-color:#a9dfc8 !important;
}

html[data-theme="light"] .metric.warn,
html[data-theme="light"] .device-stat.warn{
  border-color:#ead18d !important;
}

html[data-theme="light"] .metric.bad,
html[data-theme="light"] .device-stat.bad{
  border-color:#efb7c0 !important;
}

/* Dashboard panels */
html[data-theme="light"] .panel{
  background:#ffffff !important;
  border-color:#dce3ea !important;
  box-shadow:0 6px 22px rgba(32,48,65,.045) !important;
}

/* Quick operation / action cards */
html[data-theme="light"] .quick-card,
html[data-theme="light"] .quick-actions a,
html[data-theme="light"] .quick-grid a,
html[data-theme="light"] .dashboard-actions a{
  background:#f7f9fc !important;
  border:1px solid #dce3ea !important;
  color:#263442 !important;
  box-shadow:none !important;
}

html[data-theme="light"] .quick-card:hover,
html[data-theme="light"] .quick-actions a:hover,
html[data-theme="light"] .quick-grid a:hover,
html[data-theme="light"] .dashboard-actions a:hover{
  background:#f0f4f8 !important;
  border-color:#c9d4df !important;
}

html[data-theme="light"] .quick-card strong,
html[data-theme="light"] .quick-card b,
html[data-theme="light"] .quick-actions a strong,
html[data-theme="light"] .quick-grid a strong,
html[data-theme="light"] .dashboard-actions a strong{
  color:#1c2732 !important;
}

html[data-theme="light"] .quick-card small,
html[data-theme="light"] .quick-card p,
html[data-theme="light"] .quick-actions small,
html[data-theme="light"] .quick-grid small,
html[data-theme="light"] .dashboard-actions small{
  color:#778594 !important;
}

/* Tables */
html[data-theme="light"] table{
  background:#ffffff;
}

html[data-theme="light"] thead,
html[data-theme="light"] thead tr,
html[data-theme="light"] thead th{
  background:#f4f6f9 !important;
  color:#657586 !important;
}

html[data-theme="light"] tbody tr{
  background:#ffffff;
}

html[data-theme="light"] tbody tr:hover td{
  background:#f7f9fc !important;
}

/* Buttons */
html[data-theme="light"] .btn.secondary,
html[data-theme="light"] a.btn.secondary{
  background:#f7f9fc !important;
  border-color:#cfd9e3 !important;
  color:#344454 !important;
}

html[data-theme="light"] .btn.secondary:hover,
html[data-theme="light"] a.btn.secondary:hover{
  background:#edf2f6 !important;
}

/* Cards used by reseller / device / plans pages */
html[data-theme="light"] .plan-card,
html[data-theme="light"] .source-card,
html[data-theme="light"] .manage-card,
html[data-theme="light"] .profile-card{
  background:#ffffff !important;
  border-color:#dce3ea !important;
  color:#263442 !important;
  box-shadow:0 6px 20px rgba(32,48,65,.045) !important;
}

/* Inputs */
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea{
  background:#ffffff !important;
  border-color:#d4dde6 !important;
  color:#263442 !important;
}

html[data-theme="light"] input:focus,
html[data-theme="light"] select:focus,
html[data-theme="light"] textarea:focus{
  border-color:#9b7bd5 !important;
  box-shadow:0 0 0 3px rgba(126,83,196,.08);
}

/* Sidebar slightly softer */
html[data-theme="light"] .sidebar{
  background:#ffffff;
  border-right:1px solid #e0e6ec;
}

/* Top bar */
html[data-theme="light"] .topbar{
  background:rgba(255,255,255,.96);
  border-bottom:1px solid #e0e6ec;
}

/* Main text consistency */
html[data-theme="light"] .content,
html[data-theme="light"] .main-content{
  color:#263442;
}


/* =========================================================
   VANTA ADMIN DASHBOARD V3 — LIGHT MODE FIX
   ========================================================= */

html[data-theme="light"] .av3-metric{
    background:#ffffff !important;
    color:#17202b !important;
    border-color:#dce3ea !important;
    box-shadow:0 6px 20px rgba(32,48,65,.05) !important;
}

html[data-theme="light"] .av3-metric:hover{
    background:#f8fafc !important;
    border-color:#c9d4df !important;
}

html[data-theme="light"] .av3-metric strong{
    color:#17202b !important;
}

html[data-theme="light"] .av3-metric span,
html[data-theme="light"] .av3-metric small{
    color:#738190 !important;
}

/* Keep status identity */
html[data-theme="light"] .av3-metric.good-card{
    border-color:#a9dfc8 !important;
}

html[data-theme="light"] .av3-metric.warn-card{
    border-color:#ead18d !important;
}

html[data-theme="light"] .av3-metric.bad-card{
    border-color:#efb7c0 !important;
}

html[data-theme="light"] .av3-metric.purple-card{
    border-color:#d5c4ee !important;
}

/* Quick Operations */
html[data-theme="light"] .av3-links>a{
    background:#f7f9fc !important;
    border-color:#dce3ea !important;
    color:#263442 !important;
}

html[data-theme="light"] .av3-links>a:hover{
    background:#f0f4f8 !important;
    border-color:#c9d4df !important;
}

html[data-theme="light"] .av3-links b{
    color:#1c2732 !important;
}

html[data-theme="light"] .av3-links small{
    color:#778594 !important;
}

html[data-theme="light"] .av3-links>a>span{
    color:#7655a8 !important;
}

/* Dashboard secondary text */
html[data-theme="light"] .av3-wallet p,
html[data-theme="light"] .av3-network-sub,
html[data-theme="light"] .av3-network-number small,
html[data-theme="light"] .av3-reseller-list small{
    color:#738190 !important;
}

html[data-theme="light"] .av3-reseller-list>a{
    border-bottom-color:#e2e8ef !important;
}


/* =========================================================
   VANTA RESELLER DASHBOARD V3 — LIGHT MODE FINAL
   ========================================================= */

/* Main reseller hero */
html[data-theme="light"] .rv3-hero,
html[data-theme="light"] .rv3-welcome{
    background:
        radial-gradient(circle at 88% 15%,rgba(139,92,246,.07),transparent 32%),
        #ffffff !important;
    border-color:#dce3ea !important;
    color:#17202b !important;
    box-shadow:0 6px 22px rgba(32,48,65,.05) !important;
}

html[data-theme="light"] .rv3-hero h1,
html[data-theme="light"] .rv3-hero h2,
html[data-theme="light"] .rv3-welcome h1,
html[data-theme="light"] .rv3-welcome h2{
    color:#17202b !important;
}

html[data-theme="light"] .rv3-hero p,
html[data-theme="light"] .rv3-welcome p{
    color:#687889 !important;
}


/* Credits box */
html[data-theme="light"] .rv3-wallet,
html[data-theme="light"] .rv3-credit-box,
html[data-theme="light"] .rv3-credit-card{
    background:#f6f2ff !important;
    border-color:#d5c4ee !important;
    color:#34264c !important;
    box-shadow:none !important;
}

html[data-theme="light"] .rv3-wallet strong,
html[data-theme="light"] .rv3-credit-box strong,
html[data-theme="light"] .rv3-credit-card strong{
    color:#56358b !important;
}

html[data-theme="light"] .rv3-wallet small,
html[data-theme="light"] .rv3-wallet span,
html[data-theme="light"] .rv3-credit-box small,
html[data-theme="light"] .rv3-credit-box span,
html[data-theme="light"] .rv3-credit-card small,
html[data-theme="light"] .rv3-credit-card span{
    color:#75658c !important;
}


/* Five statistics cards */
html[data-theme="light"] .rv3-stat{
    background:#ffffff !important;
    color:#17202b !important;
    border-color:#dce3ea !important;
    box-shadow:0 5px 18px rgba(32,48,65,.045) !important;
}

html[data-theme="light"] .rv3-stat:hover{
    background:#f8fafc !important;
    border-color:#c9d4df !important;
}

html[data-theme="light"] .rv3-stat span,
html[data-theme="light"] .rv3-stat small{
    color:#738190 !important;
}

html[data-theme="light"] .rv3-stat strong{
    color:#17202b !important;
}

/* Subscription status identity */
html[data-theme="light"] .rv3-stat.active{
    border-color:#a8dec8 !important;
    background:#fbfffd !important;
}

html[data-theme="light"] .rv3-stat.expiring{
    border-color:#ead18d !important;
    background:#fffdf8 !important;
}

html[data-theme="light"] .rv3-stat.expired{
    border-color:#efb7c0 !important;
    background:#fffafb !important;
}

html[data-theme="light"] .rv3-stat.pending{
    border-color:#d5c4ee !important;
    background:#fdfbff !important;
}


/* App download strip */
html[data-theme="light"] .vanta-download-card{
    background:#ffffff !important;
    border-color:#dce3ea !important;
    color:#17202b !important;
    box-shadow:0 6px 20px rgba(32,48,65,.045) !important;
}

html[data-theme="light"] .vanta-download-card h2,
html[data-theme="light"] .vanta-download-card h3,
html[data-theme="light"] .vanta-download-card strong{
    color:#17202b !important;
}

html[data-theme="light"] .vanta-download-card p,
html[data-theme="light"] .vanta-download-card small{
    color:#708091 !important;
}


/* Reseller dashboard panels */
html[data-theme="light"] .rv3-action-card,
html[data-theme="light"] .rv3-card,
html[data-theme="light"] .rv3-panel{
    background:#ffffff !important;
    border-color:#dce3ea !important;
    color:#17202b !important;
    box-shadow:0 6px 20px rgba(32,48,65,.045) !important;
}


/* Quick Access links */
html[data-theme="light"] .rv3-quick a,
html[data-theme="light"] .rv3-quick-links a,
html[data-theme="light"] .rv3-shortcuts a{
    background:#f7f9fc !important;
    border-color:#dce3ea !important;
    color:#263442 !important;
}

html[data-theme="light"] .rv3-quick a:hover,
html[data-theme="light"] .rv3-quick-links a:hover,
html[data-theme="light"] .rv3-shortcuts a:hover{
    background:#eef3f7 !important;
    border-color:#c7d3df !important;
}

html[data-theme="light"] .rv3-quick b,
html[data-theme="light"] .rv3-quick-links b,
html[data-theme="light"] .rv3-shortcuts b{
    color:#1c2732 !important;
}

html[data-theme="light"] .rv3-quick small,
html[data-theme="light"] .rv3-quick-links small,
html[data-theme="light"] .rv3-shortcuts small{
    color:#778594 !important;
}


/* Any direct dark anchors inside reseller dashboard */
html[data-theme="light"] .rv3-dashboard a.rv3-link{
    background:#f7f9fc !important;
    border-color:#dce3ea !important;
    color:#263442 !important;
}


/* Forms / cards under reseller dashboard */
html[data-theme="light"] .rv3-dashboard input,
html[data-theme="light"] .rv3-dashboard select{
    background:#ffffff !important;
    color:#263442 !important;
    border-color:#d4dde6 !important;
}

html[data-theme="light"] .rv3-dashboard label{
    color:#647485 !important;
}


/* =========================================================
   VANTA APP FEEDBACK CENTER
   ========================================================= */

.feedback-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:22px
}
.feedback-head h2{
  margin:5px 0 4px;
  font-size:28px
}
.feedback-head p{
  margin:0;
  color:#8d99aa
}
.feedback-eyebrow{
  color:#9d72ff;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.8px
}

.feedback-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px
}
.feedback-stat{
  text-decoration:none;
  background:#111722;
  border:1px solid #252e3d;
  border-radius:16px;
  padding:15px 17px;
  transition:.18s ease
}
.feedback-stat:hover{
  transform:translateY(-2px);
  border-color:#7650bd
}
.feedback-stat small{
  display:block;
  color:#8996a8;
  font-size:10px;
  font-weight:800;
  margin-bottom:5px
}
.feedback-stat strong{
  color:#fff;
  font-size:25px
}
.feedback-stat.new{border-color:#7047ad}
.feedback-stat.reviewing{border-color:#315e89}
.feedback-stat.planned{border-color:#70591e}
.feedback-stat.fixed{border-color:#28604a}

.feedback-filter{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 160px 170px 100px;
  gap:10px;
  margin-bottom:18px
}
.feedback-filter input,
.feedback-filter select,
.feedback-action input,
.feedback-action select{
  border:1px solid #283243;
  background:#0d131e;
  color:#eef3f8;
  border-radius:11px;
  padding:11px 13px;
  outline:none
}
.feedback-filter button,
.feedback-action button{
  border:0;
  border-radius:11px;
  background:#7448c8;
  color:#fff;
  font-weight:800;
  padding:11px 16px;
  cursor:pointer
}

.feedback-list{
  display:flex;
  flex-direction:column;
  gap:13px
}
.feedback-card{
  background:#101620;
  border:1px solid #252e3b;
  border-left:4px solid #6f4aa5;
  border-radius:17px;
  padding:18px
}
.feedback-card.status-reviewing{border-left-color:#3e7aad}
.feedback-card.status-planned{border-left-color:#bd9330}
.feedback-card.status-fixed{border-left-color:#3fa579}

.feedback-card-top{
  display:flex;
  justify-content:space-between;
  gap:20px
}
.feedback-card-top h3{
  margin:8px 0 0;
  color:#fff;
  font-size:15px
}
.feedback-card-top h3 span{
  color:#8490a1;
  font-weight:500
}
.feedback-card-top time{
  color:#778496;
  font-size:11px
}
.feedback-tags{
  display:flex;
  gap:7px
}
.feedback-tags span{
  display:inline-flex;
  padding:5px 9px;
  border-radius:20px;
  text-transform:uppercase;
  font-size:9px;
  font-weight:900;
  letter-spacing:.5px
}
.feedback-category{
  color:#c8adff;
  background:#291d40
}
.feedback-status{
  color:#9fd9c0;
  background:#153326
}
.feedback-message{
  margin:16px 0;
  padding:15px;
  border-radius:12px;
  background:#0b1018;
  color:#e7edf5;
  line-height:1.65;
  white-space:pre-wrap
}
.feedback-meta{
  display:flex;
  flex-wrap:wrap;
  gap:9px
}
.feedback-meta span{
  background:#171e29;
  border-radius:8px;
  padding:6px 9px;
  color:#8390a2;
  font-size:10px
}
.feedback-meta b{color:#dce4ed}

.feedback-action{
  display:grid;
  grid-template-columns:150px 1fr 90px;
  gap:9px;
  margin-top:14px
}
.feedback-empty{
  padding:60px;
  text-align:center;
  border:1px dashed #30394a;
  border-radius:17px;
  color:#8390a2
}
.feedback-empty strong{
  display:block;
  color:#fff;
  font-size:17px;
  margin-bottom:6px
}

html[data-theme="light"] .feedback-stat,
html[data-theme="light"] .feedback-card{
  background:#fff;
  border-color:#dce3ea
}
html[data-theme="light"] .feedback-stat strong,
html[data-theme="light"] .feedback-card-top h3,
html[data-theme="light"] .feedback-empty strong{
  color:#17202b
}
html[data-theme="light"] .feedback-message{
  background:#f6f8fb;
  color:#26313e
}
html[data-theme="light"] .feedback-meta span{
  background:#f2f5f8
}
html[data-theme="light"] .feedback-meta b{
  color:#27313d
}
html[data-theme="light"] .feedback-filter input,
html[data-theme="light"] .feedback-filter select,
html[data-theme="light"] .feedback-action input,
html[data-theme="light"] .feedback-action select{
  background:#fff;
  color:#17202b;
  border-color:#d7dfe7
}

@media(max-width:900px){
  .feedback-stats{grid-template-columns:repeat(2,1fr)}
  .feedback-filter{grid-template-columns:1fr}
  .feedback-action{grid-template-columns:1fr}
  .feedback-card-top{flex-direction:column}
}

/* =========================================================
   VANTA SUPPORT CENTER V1
   ========================================================= */

.support-compose{
  max-width:900px;
  margin-bottom:18px
}
.support-compose h2{margin:6px 0}
.support-compose p{opacity:.72}

.support-compose-form{
  display:grid;
  gap:11px;
  margin-top:18px
}
.support-compose-form input,
.support-compose-form select,
.support-compose-form textarea,
.support-reply-form textarea{
  width:100%;
  box-sizing:border-box;
  background:#0d131e;
  border:1px solid #293344;
  color:#eef3f8;
  border-radius:11px;
  padding:12px 14px;
  outline:none
}
.support-compose-form textarea,
.support-reply-form textarea{
  min-height:120px;
  resize:vertical
}
.support-compose-form small{opacity:.62}

.support-thread{
  padding:17px;
  margin-top:12px;
  border:1px solid #273142;
  border-radius:15px;
  background:#0d131d
}
.support-thread-head{
  display:flex;
  justify-content:space-between;
  gap:15px
}
.support-thread h3{margin:13px 0 8px}
.support-user-message{
  white-space:pre-wrap;
  line-height:1.65
}
.support-admin-reply{
  margin-top:15px;
  padding:14px;
  border-radius:12px;
  background:rgba(124,58,237,.12);
  border:1px solid rgba(139,92,246,.28)
}
.support-admin-reply strong{color:#b89aff}
.support-admin-reply p{
  margin:6px 0 0;
  white-space:pre-wrap
}

.support-reply-form{
  display:grid;
  grid-template-columns:150px 1fr 130px;
  gap:10px;
  margin-top:15px
}
.support-reply-form select{
  background:#0d131e;
  border:1px solid #293344;
  color:#eef3f8;
  border-radius:11px;
  padding:11px
}
.support-reply-form textarea{min-height:70px}
.support-reply-form button{
  border:0;
  border-radius:11px;
  background:#7448c8;
  color:white;
  font-weight:800;
  cursor:pointer
}
.support-subject{
  margin:15px 0 0
}

.vp-support-form{
  width:min(100%,620px);
  display:grid;
  gap:10px
}
.vp-support-form input,
.vp-support-form select,
.vp-support-form textarea{
  width:100%;
  box-sizing:border-box;
  border-radius:12px;
  padding:12px 14px;
}
.vp-support-form textarea{
  min-height:110px;
  resize:vertical
}
.vp-support-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px
}
.vp-support-hint{opacity:.66}

.vp-support-page{
  margin:0;
  background:#080d14;
  color:#eef3f8;
  font-family:Arial,sans-serif
}
.vp-support-shell{
  width:min(900px,calc(100% - 28px));
  margin:0 auto;
  padding:30px 0 60px
}
.vp-support-back{
  display:inline-block;
  color:#b99cff;
  text-decoration:none;
  margin-bottom:25px
}
.vp-support-title span{
  color:#9d72ff;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.6px
}
.vp-support-title h1{
  margin:6px 0
}
.vp-support-title p{
  margin:0 0 22px;
  opacity:.6
}
.vp-support-thread{
  background:#101722;
  border:1px solid #283244;
  border-radius:16px;
  padding:17px;
  margin-bottom:12px
}
.vp-support-thread-top{
  display:flex;
  justify-content:space-between;
  gap:12px
}
.vp-support-pill{
  display:inline-block;
  padding:5px 9px;
  border-radius:20px;
  background:#281c40;
  color:#cbb2ff;
  text-transform:uppercase;
  font-size:9px;
  font-weight:900
}
.vp-support-pill.status{
  background:#173227;
  color:#9cd9bc
}
.vp-support-user{
  margin-top:12px;
  line-height:1.65;
  white-space:pre-wrap
}
.vp-support-admin{
  margin-top:15px;
  background:rgba(124,58,237,.13);
  border:1px solid rgba(139,92,246,.3);
  border-radius:12px;
  padding:14px
}
.vp-support-admin strong{color:#b99cff}
.vp-support-admin p{
  white-space:pre-wrap;
  line-height:1.6
}
.vp-support-waiting{
  margin-top:13px;
  opacity:.58;
  font-size:12px
}
.vp-support-empty{
  padding:50px;
  text-align:center;
  border:1px dashed #344052;
  border-radius:16px;
  opacity:.65
}

html[data-theme="light"] .support-thread,
html[data-theme="light"] .support-compose-form input,
html[data-theme="light"] .support-compose-form select,
html[data-theme="light"] .support-compose-form textarea,
html[data-theme="light"] .support-reply-form select,
html[data-theme="light"] .support-reply-form textarea{
  background:#fff;
  color:#17202b;
  border-color:#d9e1e8
}

@media(max-width:800px){
  .support-reply-form{grid-template-columns:1fr}
}
