/* ═══════════════════════════════════════════════════
   PWF License Server — Admin Panel Styles
   ═══════════════════════════════════════════════════ */

:root {
    --bg:#0d1117; --bg2:#161b22; --bg3:#21262d; --border:#30363d;
    --text:#c9d1d9; --text2:#9ca3af; --primary:#58a6ff; --green:#3fb950;
    --red:#f85149; --orange:#d29922; --purple:#bc8cff; --cyan:#39d2c0; --yellow:#e3b341;
    --sidebar-w:260px;
    --login-bg:linear-gradient(135deg,#0a0e14 0%,#0d1117 30%,#111827 60%,#1a1e2e 100%);
    --login-box-bg:rgba(22,27,34,.85);
    --login-dot-opacity:0.015;
    --shadow-card:0 8px 24px rgba(0,0,0,.2);
    --shadow-modal:0 20px 60px rgba(0,0,0,.4);
}

/* ── Light Theme ─────────────────── */
[data-theme="light"] {
    --bg:#f6f8fa; --bg2:#ffffff; --bg3:#e8ecf0; --border:#d0d7de;
    --text:#1f2328; --text2:#656d76; --primary:#0969da; --green:#1a7f37;
    --red:#cf222e; --orange:#bf8700; --purple:#8250df; --cyan:#0e8a87; --yellow:#9a6700;
    --login-bg:linear-gradient(135deg,#eef2f6 0%,#f6f8fa 30%,#e8ecf0 60%,#dce3eb 100%);
    --login-box-bg:rgba(255,255,255,.92);
    --login-dot-opacity:0.04;
    --shadow-card:0 4px 12px rgba(0,0,0,.06);
    --shadow-modal:0 16px 48px rgba(0,0,0,.12);
}
[data-theme="light"] .stat-card{border-color:var(--border);}
[data-theme="light"] .stat-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);}
[data-theme="light"] .modal{box-shadow:var(--shadow-modal);}
[data-theme="light"] .toast{box-shadow:0 4px 16px rgba(0,0,0,.1);}
[data-theme="light"] .actions-menu{box-shadow:0 8px 24px rgba(0,0,0,.12);}
[data-theme="light"] .login-screen::before{background:radial-gradient(ellipse at 20% 50%,rgba(9,105,218,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(130,80,223,.04) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(26,127,55,.03) 0%,transparent 50%);}
[data-theme="light"] .login-screen::after{background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='0.02'%3E%3Ccircle cx='30' cy='30' r='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");}
[data-theme="light"] .login-box{border-color:rgba(208,215,222,.7);box-shadow:0 16px 48px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.04) inset;}
[data-theme="light"] .sidebar{box-shadow:2px 0 8px rgba(0,0,0,.04);}
[data-theme="light"] tr:hover td{background:rgba(0,0,0,.02);}
[data-theme="light"] .notif-item:hover{background:rgba(0,0,0,.02);}
[data-theme="light"] .plan-modal{box-shadow:0 24px 60px rgba(0,0,0,.12);border-color:var(--border);}
[data-theme="light"] .pm-input{background:rgba(246,248,250,.8);}
[data-theme="light"] .pm-header{background:linear-gradient(135deg,rgba(9,105,218,.04),rgba(130,80,223,.04));}
[data-theme="light"] .pm-toggle{background:rgba(246,248,250,.6);}
[data-theme="light"] .notif-panel{box-shadow:0 12px 36px rgba(0,0,0,.1);}
[data-theme="light"] .api-code-row{background:#f6f8fa;border-color:var(--border);}
[data-theme="light"] .api-code-row .api-path{color:var(--cyan);}
[data-theme="light"] .info-box code{background:var(--bg3);}
[data-theme="light"] code{background:rgba(175,184,193,.2);color:#0550ae;}
[data-theme="light"] .tab-btn.active{box-shadow:none;}
[data-theme="light"] .card:hover{border-color:rgba(0,0,0,.1);}
[data-theme="light"] .stats-hero .stat-card{border-color:rgba(9,105,218,.15);background:linear-gradient(135deg,var(--bg2) 0%,rgba(9,105,218,.03) 100%);}
[data-theme="light"] .plan-card.featured{border-color:rgba(9,105,218,.3);background:linear-gradient(135deg,var(--bg2) 0%,rgba(9,105,218,.04) 100%);}
[data-theme="light"] .profile-header-card{box-shadow:0 4px 16px rgba(0,0,0,.06);}
[data-theme="light"] .profile-header-bg{opacity:.9;}
[data-theme="light"] .profile-avatar-lg{box-shadow:0 4px 16px rgba(0,0,0,.12);}
[data-theme="light"] .profile-info-row:hover{background:rgba(0,0,0,.02);}
[data-theme="light"] .topbar-avatar{box-shadow:0 2px 8px rgba(0,0,0,.1);}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;}

/* ── Login ───────────────────────── */
.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--login-bg);position:relative;overflow:hidden;}
.login-screen::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 20% 50%,rgba(88,166,255,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(188,140,255,.05) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(63,185,80,.04) 0%,transparent 50%);pointer-events:none;animation:bgShift 20s ease-in-out infinite alternate;}
@keyframes bgShift{0%{transform:translate(0,0) rotate(0deg)}100%{transform:translate(-5%,3%) rotate(3deg)}}
.login-screen::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.015'%3E%3Ccircle cx='30' cy='30' r='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none;}
.login-box{background:var(--login-box-bg);backdrop-filter:blur(20px);border:1px solid rgba(48,54,61,.6);border-radius:20px;padding:52px 48px;width:480px;max-width:92%;box-shadow:0 24px 80px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.03) inset;position:relative;z-index:1;}
.login-theme-toggle{position:absolute;top:24px;right:24px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:var(--text2);z-index:2;transition:all .2s;}
.login-theme-toggle:hover{background:rgba(88,166,255,.15);color:var(--primary);transform:rotate(30deg);}
[data-theme="light"] .login-theme-toggle{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.1);}
.login-box h1{text-align:center;margin-bottom:8px;font-size:26px;font-weight:700;letter-spacing:-.5px;}
.login-box p{text-align:center;color:var(--text2);margin-bottom:32px;font-size:14px;line-height:1.5;}
.login-box .logo{text-align:center;margin-bottom:20px;}
.login-box .logo .logo-icon{width:72px;height:72px;margin:0 auto;border-radius:20px;background:linear-gradient(135deg,#58a6ff 0%,#bc8cff 100%);display:flex;align-items:center;justify-content:center;font-size:32px;color:#fff;box-shadow:0 8px 32px rgba(88,166,255,.25);}

/* ── Form ────────────────────────── */
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:13px;color:var(--text2);margin-bottom:8px;font-weight:500;letter-spacing:.2px;}
.form-group .input-group{position:relative;}
.form-group .input-group .input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text2);font-size:15px;transition:color .2s;pointer-events:none;z-index:2;}
.form-group .input-group input{padding-left:42px;}
.form-group .input-group .input-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text2);font-size:14px;cursor:pointer;z-index:2;padding:4px;transition:color .2s;}
.form-group .input-group .input-toggle:hover{color:var(--primary);}
.form-group .input-group:focus-within .input-icon{color:var(--primary);}
.form-group input,.form-group select{
    width:100%;padding:12px 16px;background:var(--bg);border:1.5px solid var(--border);
    border-radius:10px;color:var(--text);font-size:14px;outline:none;transition:all .25s ease;
}
.form-group input::placeholder{color:rgba(139,148,158,.5);}
.form-group input:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(88,166,255,.12);background:var(--bg);}
.form-group input.input-error{border-color:var(--red);box-shadow:0 0 0 3px rgba(248,81,73,.1);}
.form-group input.input-error:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(248,81,73,.15);}
.form-group .field-error{font-size:12px;color:var(--red);margin-top:6px;display:none;align-items:center;gap:5px;}
.form-group .field-error.show{display:flex;}
.form-group .field-error i{font-size:11px;}
/* remember me */
.remember-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;font-size:13px;}
.remember-row label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text2);font-size:13px;margin-bottom:0;}
.remember-row a{color:var(--primary);font-size:12px;font-weight:500;}

/* ── Custom Checkbox ───────────── */
.cb{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px;line-height:1;}
.cb input{position:absolute;opacity:0;width:0;height:0;}
.cb .cb-box{width:20px;height:20px;border-radius:6px;border:2px solid var(--border);background:var(--bg);display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;}
.cb .cb-box i{font-size:10px;color:#fff;opacity:0;transform:scale(.5);transition:all .2s;}
.cb:hover .cb-box{border-color:var(--primary);background:rgba(88,166,255,.06);}
.cb input:checked + .cb-box{background:var(--primary);border-color:var(--primary);box-shadow:0 2px 8px rgba(88,166,255,.25);}
.cb input:checked + .cb-box i{opacity:1;transform:scale(1);}
.cb input:focus-visible + .cb-box{box-shadow:0 0 0 3px rgba(88,166,255,.2);}

/* ── Buttons ─────────────────────── */
.btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px;}
.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.2);}
.btn:active{transform:translateY(0);}
.btn-primary{background:var(--primary);color:#fff;width:100%;justify-content:center;}
.btn-primary:hover{opacity:.9;}
.btn-green{background:var(--green);color:#fff;}
.btn-red{background:var(--red);color:#fff;}
.btn-orange{background:var(--orange);color:#fff;}
.btn-amber{background:#d29922;color:#fff;}
.btn-amber:hover{background:#e4b035;}
.btn-sm{padding:6px 14px;font-size:12px;}
.btn-xs{padding:4px 10px;font-size:11px;border-radius:6px;gap:4px;}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text);}
.btn-outline:hover{border-color:var(--primary);color:var(--primary);}
.login-error{background:rgba(248,81,73,.08);border:1px solid rgba(248,81,73,.2);border-radius:10px;padding:12px 16px;color:var(--red);text-align:left;font-size:13px;margin-top:16px;display:none;align-items:center;gap:10px;line-height:1.5;}
.login-error.show{display:flex;}
.login-error i{font-size:16px;flex-shrink:0;}
.auth-switch{text-align:center;margin-top:22px;font-size:13px;color:var(--text2);}
.auth-switch a{color:var(--primary);cursor:pointer;font-weight:600;margin-left:4px;text-decoration:none;transition:color .2s;}
.auth-switch a:hover{color:#79b8ff;}
.auth-divider{display:flex;align-items:center;gap:14px;margin:20px 0;}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border);}
.auth-divider span{color:var(--text2);font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:500;}
.login-success{background:rgba(63,185,80,.08);border:1px solid rgba(63,185,80,.2);border-radius:10px;padding:12px 16px;color:var(--green);font-size:13px;margin-top:16px;display:none;align-items:center;gap:10px;}
.login-success.show{display:flex;}
.login-success i{font-size:16px;flex-shrink:0;}

/* ── Layout ──────────────────────── */
.app{display:none;}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;transition:transform .3s ease;}
.sidebar-header{padding:24px 22px 20px;border-bottom:1px solid var(--border);}
.sidebar-header{display:flex;align-items:center;gap:12px;}
.sidebar-header .sidebar-logo{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#58a6ff,#bc8cff);display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;flex-shrink:0;}
.sidebar-header .sidebar-brand{}

/* ── App Switcher ────────────────── */
.app-switcher{padding:10px 14px;border-bottom:1px solid var(--border);background:rgba(0,0,0,.15);}
.app-switcher select{width:100%;padding:8px 12px;background:var(--bg);border:1.5px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;outline:none;cursor:pointer;transition:all .2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;}
.app-switcher select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(88,166,255,.1);}
.app-switcher select:hover{border-color:rgba(88,166,255,.3);}
.app-switcher-label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--text2);font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:6px;}
.app-switcher-label i{font-size:10px;color:var(--primary);}
.sidebar-header h2{font-size:16px;color:var(--primary);letter-spacing:-.3px;font-weight:700;}
.sidebar-header small{color:var(--text2);font-size:11px;margin-top:1px;display:block;}
.sidebar-user{padding:14px 22px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text2);display:flex;align-items:center;gap:10px;}
.sidebar-user .user-avatar{width:34px;height:34px;border-radius:50%;background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--primary);flex-shrink:0;border:2px solid var(--border);}
.sidebar-user .user-info{min-width:0;}
.sidebar-user .username{color:var(--text);font-weight:600;display:block;font-size:14px;}
.sidebar-user .role-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;margin-top:3px;}
.sidebar-user .user-ip{display:block;font-size:11px;color:var(--text2);margin-top:4px;opacity:.7;}
.role-super{background:rgba(248,81,73,.15);color:var(--red);}
.role-app{background:rgba(88,166,255,.15);color:var(--primary);}

.nav{flex:1;padding:14px 10px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;}
.nav::-webkit-scrollbar{display:none;}
.nav-section{font-size:10px;text-transform:uppercase;color:rgba(139,148,158,.55);padding:24px 16px 12px;letter-spacing:1.2px;font-weight:700;display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;transition:color .15s;}
.nav-section:hover{color:var(--text2);}
.nav-section::after{content:'';flex:1;height:1px;background:var(--border);opacity:.4;}
.nav-section .nav-chevron{font-size:9px;transition:transform .25s;margin-left:auto;order:2;}
.nav-section.collapsed .nav-chevron{transform:rotate(-90deg);}
.nav-group{overflow:hidden;transition:max-height .25s ease-out, opacity .15s ease;max-height:300px;opacity:1;}
.nav-group.collapsed{max-height:0;opacity:0;pointer-events:none;transition:max-height .2s ease-in, opacity .15s ease;}
.nav-item{display:flex;align-items:center;gap:16px;padding:11px 16px;border-radius:10px;color:var(--text2);text-decoration:none;font-size:14px;cursor:pointer;transition:all .15s;margin-bottom:3px;position:relative;}
.nav-item i{width:22px;text-align:center;font-size:16px;}
.nav-item:hover{background:var(--bg3);color:var(--text);}
.nav-item.active{background:rgba(88,166,255,.12);color:var(--primary);font-weight:600;}
.nav-item.active::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--primary);}

.nav-item .nav-badge{margin-left:auto;background:var(--red);color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;min-width:18px;text-align:center;line-height:14px;}
.nav-bottom{padding:14px 10px;border-top:1px solid var(--border);}

.main{margin-left:var(--sidebar-w);padding:20px 24px;min-height:100vh;transition:margin-left .3s ease;}

/* ── Hamburger ────────────────────── */
.hamburger{display:none;width:40px;height:40px;border-radius:10px;background:var(--bg2);border:1px solid var(--border);align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:var(--text2);transition:.15s;flex-shrink:0;z-index:101;}
.hamburger:hover{color:var(--primary);border-color:var(--primary);}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99;}
.sidebar-overlay.show{display:block;}

/* ── Theme Toggle ─────────────────── */
.theme-toggle{display:flex;align-items:center;gap:10px;padding:11px 16px;border-radius:10px;color:var(--text2);cursor:pointer;transition:all .15s;margin-bottom:3px;font-size:14px;user-select:none;}
.theme-toggle:hover{background:var(--bg3);color:var(--text);}
.theme-toggle i{width:22px;text-align:center;font-size:16px;}
.theme-toggle .theme-label{}
.theme-mini{justify-content:center;padding:11px 8px;}
.theme-mini .theme-label{display:none;}

/* ── Top Bar (notifications) ──────── */
.topbar{display:flex;justify-content:flex-end;align-items:center;margin-bottom:8px;gap:12px;}
.topbar-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#6c5ce7);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;font-weight:700;color:#fff;transition:all .2s;flex-shrink:0;letter-spacing:1px;user-select:none;}
.topbar-avatar:hover{transform:scale(1.08);box-shadow:0 0 0 3px rgba(88,166,255,.25);}
#refreshPageBtn i{transition:transform .6s cubic-bezier(0.4,0,0.2,1);}
#refreshPageBtn.spinning i{transform:rotate(360deg);}
#refreshPageBtn:hover i{color:var(--primary);}
.notif-bell{position:relative;width:40px;height:40px;border-radius:10px;background:var(--bg2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:var(--text2);transition:all .15s;}
.notif-bell:hover{color:var(--primary);border-color:var(--primary);background:rgba(88,166,255,.06);}
.notif-bell .notif-dot{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--red);border:2px solid var(--bg2);display:none;}
.notif-bell .notif-dot.show{display:block;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}
.notif-panel{display:none;position:absolute;top:48px;right:0;width:360px;background:var(--bg2);border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 48px rgba(0,0,0,.4);z-index:200;overflow:hidden;}
.notif-panel.show{display:block;}
.notif-panel-header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;}
.notif-panel-header .notif-clear{font-size:12px;color:var(--text2);cursor:pointer;font-weight:500;}
.notif-panel-header .notif-clear:hover{color:var(--primary);}
.notif-list{max-height:320px;overflow-y:auto;}
.notif-item{padding:12px 18px;border-bottom:1px solid rgba(48,54,61,.5);display:flex;gap:12px;align-items:flex-start;transition:background .15s;cursor:default;}
.notif-item:hover{background:rgba(255,255,255,.02);}
.notif-item:last-child{border-bottom:none;}
.notif-item .notif-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}
.notif-icon.ni-green{background:rgba(63,185,80,.12);color:var(--green);}
.notif-icon.ni-blue{background:rgba(88,166,255,.12);color:var(--primary);}
.notif-icon.ni-orange{background:rgba(210,153,34,.12);color:var(--orange);}
.notif-icon.ni-red{background:rgba(248,81,73,.12);color:var(--red);}
.notif-item .notif-text{flex:1;min-width:0;}
.notif-item .notif-text .notif-title{font-size:13px;font-weight:500;margin-bottom:2px;}
.notif-item .notif-text .notif-time{font-size:11px;color:var(--text2);}
.notif-empty{padding:32px;text-align:center;color:var(--text2);font-size:13px;}

/* ── Breadcrumb ───────────────────── */
.breadcrumb{font-size:12px;color:var(--text2);margin-bottom:8px;display:flex;align-items:center;gap:6px;}
.breadcrumb a{color:var(--primary);text-decoration:none;cursor:pointer;}
.breadcrumb a:hover{text-decoration:underline;}
.breadcrumb .sep{opacity:.5;}

.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px;}
.page-header h1{font-size:22px;font-weight:700;}
.page-header .header-actions{display:flex;gap:8px;align-items:center;}

/* ── Stats ────────────────────────── */
.stats-grid{margin-bottom:20px;}
.stats-grid > .stat-card{/* When stat-cards are direct children, auto-grid them */}
.stats-grid:not(:has(.stats-hero)):not(:has(.stats-secondary)){display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;}
.stats-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:20px;}
.stats-secondary{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;}
.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:22px;position:relative;overflow:hidden;transition:all .25s;}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;opacity:0;transition:opacity .25s;}
.stat-card:hover{border-color:rgba(255,255,255,.08);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2);}
.stat-card:hover::before{opacity:1;}
.stat-card .stat-icon{position:absolute;right:16px;top:16px;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;}
.stat-card .stat-label{font-size:12px;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;font-weight:500;}
.stat-card .stat-value{font-size:30px;font-weight:800;margin-top:8px;letter-spacing:-1px;}
/* Hero cards - top tier */
.stats-hero .stat-card{padding:28px;border:1px solid rgba(88,166,255,.15);background:linear-gradient(135deg,var(--bg2) 0%,rgba(88,166,255,.03) 100%);}
.stats-hero .stat-card .stat-value{font-size:38px;}
.stats-hero .stat-card .stat-icon{width:56px;height:56px;font-size:24px;border-radius:14px;}
.stats-hero .stat-card::before{opacity:.5;}
/* Secondary compact cards */
.stats-secondary .stat-card{padding:16px 18px;}
.stats-secondary .stat-card .stat-value{font-size:22px;margin-top:6px;}
.stats-secondary .stat-card .stat-icon{width:36px;height:36px;font-size:14px;right:12px;top:12px;border-radius:10px;}
.stats-secondary .stat-card .stat-label{font-size:11px;}
.stat-green .stat-value{color:var(--green);}
.stat-green .stat-icon{background:rgba(63,185,80,.1);color:var(--green);}
.stat-green::before{background:linear-gradient(90deg,var(--green),transparent);}
.stat-blue .stat-value{color:var(--primary);}
.stat-blue .stat-icon{background:rgba(88,166,255,.1);color:var(--primary);}
.stat-blue::before{background:linear-gradient(90deg,var(--primary),transparent);}
.stat-red .stat-value{color:var(--red);}
.stat-red .stat-icon{background:rgba(248,81,73,.1);color:var(--red);}
.stat-red::before{background:linear-gradient(90deg,var(--red),transparent);}
.stat-orange .stat-value{color:var(--orange);}
.stat-orange .stat-icon{background:rgba(210,153,34,.1);color:var(--orange);}
.stat-orange::before{background:linear-gradient(90deg,var(--orange),transparent);}
.stat-yellow .stat-value{color:var(--yellow);}
.stat-yellow .stat-icon{background:rgba(227,179,65,.12);color:var(--yellow);}
.stat-yellow::before{background:linear-gradient(90deg,var(--yellow),transparent);}
.stat-purple .stat-value{color:var(--purple);}
.stat-purple .stat-icon{background:rgba(188,140,255,.1);color:var(--purple);}
.stat-purple::before{background:linear-gradient(90deg,var(--purple),transparent);}
.stat-cyan .stat-value{color:var(--cyan);}
.stat-cyan .stat-icon{background:rgba(57,210,192,.1);color:var(--cyan);}
.stat-cyan::before{background:linear-gradient(90deg,var(--cyan),transparent);}

/* ── Card / Table ─────────────────── */
.card{background:var(--bg2);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:16px;transition:border-color .2s;}
.card:hover{border-color:rgba(255,255,255,.06);}
.card-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.card-header h3{font-size:16px;}
.card-body{padding:20px;}
.table-wrapper{overflow-x:auto;}
table{width:100%;border-collapse:collapse;}
th,td{text-align:left;padding:11px 16px;font-size:13px;white-space:nowrap;}
th{color:var(--text2);font-weight:600;border-bottom:2px solid var(--border);text-transform:uppercase;font-size:11px;letter-spacing:.5px;position:sticky;top:0;background:var(--bg2);z-index:5;}
td{border-bottom:1px solid var(--border);}
tr:last-child td{border-bottom:none;}
tr:hover td{background:rgba(255,255,255,.02);}
/* Clickable rows */
tr[data-clickable]{cursor:pointer;}
tr[data-clickable]:hover td{background:rgba(88,166,255,.04);}

.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;}
.badge-green{background:rgba(63,185,80,.15);color:var(--green);}
.badge-blue{background:rgba(88,166,255,.15);color:var(--primary);}
.badge-red{background:rgba(248,81,73,.15);color:var(--red);}
.badge-orange{background:rgba(210,153,34,.15);color:var(--orange);}
.badge-purple{background:rgba(188,140,255,.15);color:var(--purple);}
.badge-gray{background:rgba(139,148,158,.15);color:var(--text2);}

/* ── Modal ────────────────────────── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);z-index:1000;align-items:center;justify-content:center;}
.modal-overlay.show{display:flex;}
.modal{background:var(--bg2);border:1px solid var(--border);border-radius:16px;width:550px;max-width:95%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.4);}
.modal-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.modal-header h3{font-size:18px;}
.modal-close{background:none;border:none;color:var(--text2);cursor:pointer;font-size:20px;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:.15s;}
.modal-close:hover{background:var(--bg3);color:var(--text);}
.modal-body{padding:20px 24px;}
.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;}

/* ── Confirm / Prompt Dialog ──────── */
.confirm-dialog{width:420px;}
.confirm-dialog .modal-body p{font-size:15px;color:var(--text);line-height:1.7;}
.confirm-dialog .modal-body .form-input{width:100%;margin-top:12px;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;outline:none;transition:border .2s;}
.confirm-dialog .modal-body .form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(88,166,255,.15);}

/* ── Plan Modal (SaaS) ────────────── */
.plan-modal{width:640px;max-width:95%;border-radius:14px;border:1px solid rgba(48,54,61,.8);background:var(--bg2);box-shadow:0 24px 80px rgba(0,0,0,.55),0 0 0 1px rgba(88,166,255,.06);overflow:hidden;max-height:92vh;display:flex;flex-direction:column;}
.pm-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(88,166,255,.04),rgba(188,140,255,.04));}
.pm-header-left{display:flex;align-items:center;gap:14px;}
.pm-icon{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,rgba(88,166,255,.15),rgba(188,140,255,.12));display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--primary);}
.pm-header h3{font-size:17px;font-weight:700;color:var(--text);margin:0;letter-spacing:-.2px;}
.pm-subtitle{font-size:12px;color:var(--text2);margin:2px 0 0;font-weight:400;}
.pm-body{padding:24px 28px;overflow-y:auto;flex:1;}
.pm-section{margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid rgba(48,54,61,.5);}
.pm-section:last-of-type{border-bottom:none;margin-bottom:12px;padding-bottom:0;}
.pm-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text2);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.pm-section-title i{font-size:11px;color:var(--primary);opacity:.7;}
.pm-field{margin-bottom:14px;}
.pm-field:last-child{margin-bottom:0;}
.pm-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px;letter-spacing:-.1px;}
.pm-req{color:var(--red);font-weight:500;margin-left:2px;}
.pm-opt{font-size:11px;color:var(--text2);font-weight:400;margin-left:4px;}
.pm-input{width:100%;padding:10px 14px;background:rgba(13,17,23,.6);border:1.5px solid var(--border);border-radius:9px;color:var(--text);font-size:13.5px;outline:none;transition:border-color .2s,box-shadow .2s;}
.pm-input:hover{border-color:rgba(88,166,255,.25);}
.pm-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(88,166,255,.12);}
.pm-input::placeholder{color:var(--text2);opacity:.5;font-size:13px;}
select.pm-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;}
.pm-textarea{resize:vertical;min-height:80px;font-family:inherit;line-height:1.6;}
.pm-row{display:flex;gap:14px;}
.pm-row>.pm-field{flex:1;}
.pm-row-3>.pm-field{flex:1;}
.pm-input-icon{position:relative;}
.pm-prefix{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--text2);font-weight:500;pointer-events:none;z-index:1;}
.pm-toggles{display:flex;flex-direction:column;gap:0;border:1.5px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:2px;}
.pm-toggle{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:rgba(13,17,23,.35);cursor:pointer;transition:background .15s;}
.pm-toggle+.pm-toggle{border-top:1px solid var(--border);}
.pm-toggle:hover{background:rgba(88,166,255,.04);}
.pm-toggle-info{display:flex;flex-direction:column;gap:2px;}
.pm-toggle-label{font-size:13.5px;font-weight:600;color:var(--text);display:flex;align-items:center;}
.pm-toggle-desc{font-size:11.5px;color:var(--text2);font-weight:400;}
.pm-footer{padding:18px 28px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;background:rgba(13,17,23,.3);}
.pm-btn-save{background:linear-gradient(135deg,#238636,#2ea043)!important;color:#fff!important;border:none!important;font-weight:600;padding:10px 28px!important;border-radius:9px!important;font-size:13.5px!important;box-shadow:0 2px 8px rgba(35,134,54,.25);transition:all .2s!important;}
.pm-btn-save:hover{box-shadow:0 4px 16px rgba(35,134,54,.35);transform:translateY(-1px);}

/* ── Toolbar / Misc ───────────────── */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;align-items:center;}
.toolbar select,.toolbar input[type="text"]{padding:8px 14px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;outline:none;transition:.2s;}
.toolbar select:focus,.toolbar input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(88,166,255,.1);}
.toolbar input[type="text"]{min-width:200px;}

.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.detail-item{background:var(--bg3);border-radius:8px;padding:12px 14px;}
.detail-item .label{font-size:11px;color:var(--text2);text-transform:uppercase;font-weight:500;}
.detail-item .value{font-size:14px;margin-top:4px;word-break:break-all;}

.toast-container{position:fixed;bottom:20px;right:20px;z-index:2000;}
.toast{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:12px 20px;margin-top:8px;font-size:13px;display:flex;align-items:center;gap:10px;animation:slideIn .3s ease;box-shadow:0 8px 24px rgba(0,0,0,.3);}
.toast-success{border-left:3px solid var(--green);}
.toast-error{border-left:3px solid var(--red);}
@keyframes slideIn{from{transform:translateX(100px);opacity:0;}to{transform:none;opacity:1;}}

.pagination{display:flex;gap:6px;justify-content:center;margin-top:8px;padding:6px 0;}
.pagination button{padding:8px 14px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-size:12px;font-weight:500;transition:.15s;}
.pagination button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);}
.pagination button.active{background:var(--primary);color:#fff;border-color:var(--primary);}
.pagination button:disabled{opacity:.3;cursor:default;}

.text-mono{font-family:'Courier New',monospace;font-size:13px;}
.text-muted{color:var(--text2);}
.text-green{color:var(--green);}
.text-red{color:var(--red);}
.text-blue{color:var(--primary);}
.text-orange{color:var(--orange);}
.text-center{text-align:center;}
.px-2{padding-left:8px;padding-right:8px;}
.mt-2{margin-top:8px;}.mt-4{margin-top:16px;}.mb-2{margin-bottom:8px;}
.gap-2{gap:8px;}.flex{display:flex;}.flex-wrap{flex-wrap:wrap;}
.hidden{display:none!important;}

/* ── Form Controls ──────────────── */
.form-control{width:100%;padding:8px 14px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit;}
.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(88,166,255,.12);}
select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;cursor:pointer;}
input[type="number"].form-control{-moz-appearance:textfield;}
input[type="number"].form-control::-webkit-inner-spin-button{opacity:1;}

/* ── Inline Checkboxes (table cells) ── */
table input[type="checkbox"]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;vertical-align:middle;}

/* ── Inline code ─────────────────── */
code{background:var(--bg3);padding:2px 8px;border-radius:5px;font-size:12px;font-family:'Courier New',monospace;color:var(--cyan,#79c0ff);word-break:break-all;}

/* ── Tab Buttons ─────────────────── */
.tab-btn{border-radius:8px!important;transition:all .2s;}
.tab-btn.active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important;}
.empty-state{text-align:center;padding:48px 32px;color:var(--text2);}
.empty-state .empty-icon{width:80px;height:80px;margin:0 auto 20px;border-radius:50%;background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:32px;opacity:.6;}
.empty-state > i{font-size:56px;margin-bottom:16px;display:block;opacity:.5;}
.empty-state h3{font-size:18px;color:var(--text);font-weight:600;margin-bottom:8px;}
.empty-state p{margin-top:4px;font-size:14px;line-height:1.6;max-width:380px;margin-left:auto;margin-right:auto;}
.empty-state .btn{margin-top:20px;display:inline-flex;}
.copy-btn{cursor:pointer;color:var(--text2);padding:2px 4px;border-radius:4px;transition:.15s;}
.copy-btn:hover{color:var(--primary);background:rgba(88,166,255,.1);}

/* ── Actions Dropdown (fixed position) ── */
.actions-dropdown{position:relative;display:inline-block;}
.actions-menu{display:none;position:absolute;right:0;top:100%;background:var(--bg2);border:1px solid var(--border);border-radius:10px;min-width:200px;z-index:1000;box-shadow:0 12px 36px rgba(0,0,0,.5);padding:6px;}
.actions-menu.show{display:block;}
.actions-menu button,.actions-menu > div{display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;background:none;border:none;color:var(--text);font-size:13px;cursor:pointer;border-radius:8px;text-align:left;transition:.1s;}
.actions-menu button:hover,.actions-menu > div:hover{background:var(--bg3);}
.actions-menu button.danger,.actions-menu .text-red{color:var(--red);}
.actions-menu .menu-divider{height:1px;background:var(--border);margin:4px 8px;}

.info-box{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:22px;margin-bottom:16px;}
.info-box h4{color:var(--primary);margin-bottom:12px;font-size:15px;display:flex;align-items:center;gap:8px;}
.info-box code{background:var(--bg);padding:3px 10px;border-radius:6px;font-size:12px;color:var(--cyan);}
/* API code blocks */
.api-code-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#000;border:1px solid rgba(48,54,61,.6);border-radius:10px;margin-bottom:8px;font-family:'Courier New',monospace;font-size:13px;}
.api-code-row .api-method{padding:3px 10px;border-radius:6px;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;text-transform:uppercase;letter-spacing:.5px;}
.api-method.m-post{background:var(--green);}
.api-method.m-get{background:var(--primary);}
.api-code-row .api-path{color:var(--cyan);flex:1;}
.api-code-row .api-copy{color:var(--text2);cursor:pointer;padding:4px 6px;border-radius:6px;transition:.15s;font-size:13px;}
.api-code-row .api-copy:hover{color:var(--primary);background:rgba(88,166,255,.1);}
/* Switch toggle */
.switch-toggle{position:relative;width:44px;height:24px;display:inline-block;}
.switch-toggle input{opacity:0;width:0;height:0;}
.switch-toggle .slider{position:absolute;cursor:pointer;inset:0;background:var(--bg3);border:1px solid var(--border);border-radius:24px;transition:.25s;}
.switch-toggle .slider::before{content:'';position:absolute;height:18px;width:18px;left:2px;bottom:2px;background:var(--text2);border-radius:50%;transition:.25s;}
.switch-toggle input:checked + .slider{background:rgba(88,166,255,.25);border-color:var(--primary);}
.switch-toggle input:checked + .slider::before{transform:translateX(20px);background:var(--primary);}

/* ── Auth animations ─────────────── */
@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}
@keyframes shake{0%,100%{transform:translateX(0)}15%{transform:translateX(-8px)}30%{transform:translateX(8px)}45%{transform:translateX(-6px)}60%{transform:translateX(6px)}75%{transform:translateX(-3px)}90%{transform:translateX(3px)}}
.login-box{animation:fadeSlideIn .5s ease;}

/* ── Logs improved readability ───── */
.log-action{font-weight:600;font-size:12px;}
.log-details{max-width:300px;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:var(--text2);}

/* ── Plan Cards ────────────────────── */
.plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:24px;}
.plan-card{background:var(--bg2);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:all .25s;position:relative;}
.plan-card:hover{border-color:rgba(88,166,255,.3);transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.25);}
.plan-card.featured{border-color:rgba(88,166,255,.4);background:linear-gradient(135deg,var(--bg2) 0%,rgba(88,166,255,.06) 100%);}
.plan-card .plan-badge{position:absolute;top:14px;right:14px;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.plan-card .plan-header{padding:24px 24px 16px;border-bottom:1px solid var(--border);}
.plan-card .plan-name{font-size:18px;font-weight:700;color:var(--text);margin-bottom:4px;}
.plan-card .plan-desc{font-size:13px;color:var(--text2);line-height:1.5;}
.plan-card .plan-price{padding:20px 24px;text-align:center;}
.plan-card .price-amount{font-size:36px;font-weight:800;color:var(--primary);letter-spacing:-1px;}
.plan-card .price-amount .price-currency{font-size:16px;font-weight:600;vertical-align:super;margin-right:2px;}
.plan-card .price-period{font-size:13px;color:var(--text2);margin-top:2px;}
.plan-card .plan-features{padding:0 24px 16px;}
.plan-card .plan-features li{list-style:none;padding:6px 0;font-size:13px;color:var(--text2);display:flex;align-items:center;gap:8px;}
.plan-card .plan-features li i{color:var(--green);font-size:11px;width:16px;text-align:center;}
.plan-card .plan-footer{padding:12px 24px 20px;display:flex;gap:8px;}
.plan-card .plan-meta{padding:0 24px 16px;display:flex;flex-wrap:wrap;gap:6px;}
.plan-card .plan-meta .badge{font-size:10px;}

/* ── App Cards ─────────────────────── */
.apps-bulk-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;padding:14px 18px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;}
.app-card{background:var(--bg2);border:1px solid var(--border);border-radius:16px;margin-bottom:16px;overflow:hidden;transition:all .25s;}
.app-card:hover{border-color:rgba(88,166,255,.25);box-shadow:0 8px 24px rgba(0,0,0,.15);}
.app-card.app-maintenance{border-left:3px solid var(--orange);}
.app-card-top{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 16px;flex-wrap:wrap;gap:12px;}
.app-card-title{display:flex;align-items:center;gap:14px;}
.app-card-title .app-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--purple));display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;flex-shrink:0;}
.app-card-title h3{font-size:18px;font-weight:700;color:var(--text);margin:0;line-height:1.2;}
.app-card-title .app-version{font-size:12px;color:var(--text2);margin-top:4px;display:flex;align-items:center;gap:6px;}
.app-card-actions{display:flex;gap:6px;}
.app-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.app-stat{background:var(--bg2);padding:16px;text-align:center;}
.app-stat-value{font-size:22px;font-weight:800;color:var(--text);letter-spacing:-0.5px;}
.app-stat-value.text-green{color:var(--green);}
.app-stat-value.text-cyan{color:var(--cyan);}
.app-stat-label{font-size:11px;color:var(--text2);margin-top:4px;text-transform:uppercase;letter-spacing:.3px;display:flex;align-items:center;justify-content:center;gap:4px;}
.app-stat-label i{font-size:10px;opacity:.7;}
.app-details{padding:16px 24px;}
.app-detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(48,54,61,.4);}
.app-detail-row:last-child{border-bottom:none;}
.app-detail-label{font-size:12px;color:var(--text2);text-transform:uppercase;letter-spacing:.3px;font-weight:600;}
.app-detail-value{font-size:13px;color:var(--text);display:flex;align-items:center;gap:6px;}
.app-card-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-top:1px solid var(--border);flex-wrap:wrap;gap:10px;}
[data-theme="light"] .app-card{box-shadow:0 1px 3px rgba(0,0,0,.06);}
[data-theme="light"] .app-card:hover{box-shadow:0 6px 16px rgba(0,0,0,.08);}
[data-theme="light"] .app-stat{background:var(--bg2);}

/* Order stats mini cards */
.order-stat{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:16px 20px;text-align:center;}
.order-stat .os-value{font-size:26px;font-weight:800;letter-spacing:-1px;}
.order-stat .os-label{font-size:11px;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;}

/* ── HWID Cell ─────────────────────── */
.hwid-cell{display:inline-flex;align-items:center;gap:6px;max-width:180px;}
.hwid-cell .hwid-text{font-family:'Courier New',monospace;font-size:12px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hwid-cell .hwid-copy{cursor:pointer;color:var(--text2);font-size:11px;padding:3px 5px;border-radius:4px;transition:.15s;flex-shrink:0;opacity:.5;}
.hwid-cell .hwid-copy:hover{color:var(--primary);background:rgba(88,166,255,.1);opacity:1;}
.hwid-cell .hwid-copy.copied{color:var(--green);opacity:1;}

/* ── Inline Action Buttons ─────────── */
.action-btns{display:flex;align-items:center;gap:4px;}
.action-btns .btn-icon{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text2);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;transition:all .15s;}
.action-btns .btn-icon:hover{border-color:var(--primary);color:var(--primary);background:rgba(88,166,255,.06);}
.action-btns .btn-icon.btn-icon-danger:hover{border-color:var(--red);color:var(--red);background:rgba(248,81,73,.06);}
.action-btns .btn-icon[title]:hover::after{content:attr(title);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);background:var(--bg);border:1px solid var(--border);padding:3px 8px;border-radius:6px;font-size:10px;white-space:nowrap;color:var(--text);z-index:10;}
.action-btns .btn-icon{position:relative;}

/* ── Profile Page ──────────────────── */
.profile-header-card{position:relative;border-radius:16px;margin-bottom:24px;background:var(--bg2);border:1px solid var(--border);}
.profile-header-bg{height:140px;background:linear-gradient(135deg,var(--primary),#6c5ce7,#e17055);opacity:.85;border-radius:16px 16px 0 0;}
.profile-header-content{display:flex;align-items:flex-end;gap:22px;padding:0 32px 28px;margin-top:-55px;position:relative;z-index:1;}
.profile-avatar-lg{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#6c5ce7);display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;color:#fff;border:5px solid var(--bg2);box-shadow:0 6px 20px rgba(0,0,0,.3);flex-shrink:0;letter-spacing:2px;user-select:none;}
.profile-header-info{padding-bottom:8px;min-width:0;}
.profile-username{font-size:24px;font-weight:700;color:var(--text);margin:0 0 8px;}
.profile-meta{font-size:13px;color:var(--text2);margin:10px 0 0;display:flex;align-items:center;gap:6px;opacity:.8;}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px;}
.profile-info-body{padding:0;}
.profile-info-row{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border);transition:background .15s;}
.profile-info-row:last-child{border-bottom:none;}
.profile-info-row:hover{background:rgba(88,166,255,.03);}
.profile-info-label{font-size:13px;color:var(--text2);display:flex;align-items:center;gap:8px;}
.profile-info-label i{width:16px;text-align:center;opacity:.6;}
.profile-info-value{font-size:14px;color:var(--text);font-weight:500;}
.profile-action-btn{width:100%;justify-content:flex-start;gap:10px;padding:12px 16px;font-size:14px;border-radius:10px;}
.profile-password-wrapper{position:relative;display:flex;align-items:center;}
.profile-password-wrapper input{padding-right:42px;}
.profile-eye-btn{position:absolute;right:8px;background:none;border:none;color:var(--text2);cursor:pointer;padding:6px;font-size:14px;transition:color .15s;}
.profile-eye-btn:hover{color:var(--primary);}
.profile-password-strength{margin-top:8px;}
.strength-bar-track{width:100%;height:6px;border-radius:3px;background:var(--bg3);overflow:hidden;}
.strength-bar-fill{height:100%;border-radius:3px;transition:width .3s,background .3s;}
.strength-label{font-size:12px;margin-top:4px;display:inline-block;font-weight:600;}

/* ── Responsive ────────────────────── */
@media(max-width:1200px){
    .stats-hero{grid-template-columns:repeat(2,1fr);gap:14px;}
}

@media(max-width:1024px){
    .plans-grid{grid-template-columns:1fr 1fr;}
    .page-header{flex-direction:column;align-items:flex-start;}
    .page-header .header-actions{width:100%;flex-wrap:wrap;}
}

@media(max-width:768px){
    .hamburger{display:flex;}
    .sidebar{transform:translateX(-100%);width:var(--sidebar-w);}
    .sidebar.open{transform:translateX(0);}
    .sidebar-header h2,.sidebar-header small,.sidebar-header .sidebar-brand{}
    .main{margin-left:0;padding:14px;}
    .stats-hero{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
    .stats-hero .stat-card .stat-value{font-size:22px;}
    .stats-hero .stat-card .stat-icon{width:36px;height:36px;font-size:14px;}
    .stats-hero .stat-card{padding:16px;}
    .stats-secondary{grid-template-columns:repeat(2,1fr);gap:8px;}
    .detail-grid{grid-template-columns:1fr;}
    .breadcrumb{display:none;}
    .notif-panel{right:-40px;width:calc(100vw - 30px);max-width:360px;}
    .page-header h1{font-size:18px;}
    .toolbar{flex-direction:column;align-items:stretch;}
    .toolbar input[type="text"]{min-width:auto;}
    .plans-grid{grid-template-columns:1fr;}
    .order-stat .os-value{font-size:20px;}
    /* New pages responsive */
    .stats-grid:not(:has(.stats-hero)):not(:has(.stats-secondary)){grid-template-columns:repeat(2,1fr);gap:10px;}
    #page-security > div[style*="grid-template-columns"],
    #page-usage-analytics > div[style*="grid-template-columns"]{grid-template-columns:1fr!important;}
    /* App cards responsive */
    .app-stats-row{grid-template-columns:repeat(2,1fr);}
    .app-card-top{padding:16px;}
    .app-details{padding:12px 16px;}
    .app-card-footer{padding:12px 16px;}
    .app-detail-value.text-mono{font-size:11px;word-break:break-all;}
    .apps-bulk-toolbar{justify-content:center;}
    /* Modal full-width on mobile */
    .modal{width:95%;max-width:95%;border-radius:12px;}
    .confirm-dialog{width:90%;}
    .plan-modal{width:100%;border-radius:0;max-height:100vh;}
    .pm-row,.pm-row-3{flex-direction:column;gap:0;}
    /* Card-style tables on mobile */
    .table-wrapper{max-height:none;overflow-x:auto;}
    table thead{display:none;}
    table tbody tr{display:block;background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:10px;}
    table tbody tr:hover td{background:transparent;}
    table tbody td{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border:none;white-space:normal;font-size:13px;}
    table tbody td::before{content:attr(data-label);font-weight:600;color:var(--text2);font-size:11px;text-transform:uppercase;letter-spacing:.3px;margin-right:12px;flex-shrink:0;}
    table tbody td:last-child{justify-content:flex-end;padding-top:10px;border-top:1px solid var(--border);margin-top:4px;}
    .actions-dropdown{width:100%;}
    .actions-menu{position:relative!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%;margin-top:8px;}
    .hwid-cell{max-width:120px;}
    .topbar{gap:8px;}
    .profile-grid{grid-template-columns:1fr;}
    .profile-header-content{flex-direction:column;align-items:center;text-align:center;gap:12px;}
    .profile-avatar-lg{margin-top:-40px;}
    .profile-header-bg{height:90px;}
}

@media(max-width:480px){
    .login-box{padding:32px 24px;border-radius:16px;}
    .login-box h1{font-size:22px;}
    .login-box .logo .logo-icon{width:60px;height:60px;font-size:26px;border-radius:16px;}
    .stats-hero{grid-template-columns:1fr;}
    .stats-secondary{grid-template-columns:1fr;}
    .stats-grid:not(:has(.stats-hero)):not(:has(.stats-secondary)){grid-template-columns:repeat(2,1fr)!important;gap:10px;}
    .stat-card .stat-icon{display:none;}
    .page-header .header-actions .btn{font-size:11px;padding:6px 10px;}
    .page-header .header-actions .btn span.btn-text{display:none;}
    .pagination button{padding:6px 10px;font-size:11px;}
    .card-header{padding:12px 14px;}
    .card-body{padding:14px;}
    .modal-header{padding:16px 18px;}
    .modal-body{padding:16px 18px;}
    .modal-footer{padding:12px 18px;}
    .notif-panel{right:-10px;width:calc(100vw - 16px);}
    .sa-apps-grid{grid-template-columns:1fr !important;}
}

/* ══════════════════════════════════════════
   SUPERADMIN DASHBOARD SECTIONS
   ══════════════════════════════════════════ */
.sa-section{margin-top:28px;}
.sa-section-title{font-size:16px;font-weight:700;color:var(--text1);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.sa-section-title i{color:var(--blue);font-size:14px;}

/* Per-App Grid */
.sa-apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.sa-app-card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:18px;cursor:pointer;transition:all .25s;}
.sa-app-card:hover{border-color:rgba(88,166,255,.3);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.15);}
.sa-app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.sa-app-name{font-weight:700;font-size:15px;color:var(--text1);}
.sa-app-stats{display:flex;gap:16px;flex-wrap:wrap;}
.sa-app-stat{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text2);}
.sa-app-stat i{font-size:12px;opacity:.7;}

/* Light mode adjustments */
[data-theme="light"] .sa-app-card{border-color:var(--border);}
[data-theme="light"] .sa-app-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.06);}
