:root{--bg:#0a0a0f;--bg2:#12121a;--bg3:#1a1a26;--card:#16161f;--border:#1e1e2e;--text:#e2e2e8;--text2:#8888a0;--text3:#555570;--accent:#6366f1;--accent2:#818cf8;--accent3:#4f46e5;--green:#10b981;--red:#ef4444;--orange:#f59e0b;--shadow:0 1px 3px rgba(0,0,0,0.3);--shadow-lg:0 8px 30px rgba(0,0,0,0.4);--r:12px;--rs:8px}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

.navbar{background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px)}
.navbar .container{display:flex;align-items:center;justify-content:space-between;height:56px}
.nav-brand{font-size:1.05rem;font-weight:700;color:var(--accent2);text-decoration:none;display:flex;align-items:center;gap:8px}
.nav-menu{display:flex;list-style:none;gap:2px;overflow-x:auto}
.nav-menu a{color:var(--text2);text-decoration:none;padding:7px 12px;border-radius:var(--rs);font-size:0.82rem;font-weight:500;transition:0.15s;white-space:nowrap;display:flex;align-items:center;gap:5px}
.nav-menu a:hover{background:var(--bg2);color:var(--accent2)}
.nav-toggle{display:none;font-size:1.2rem;cursor:pointer;color:var(--text)}

.main-content{padding:24px 0;min-height:calc(100vh - 56px)}
.page-header{margin-bottom:20px}
.page-header h1{font-size:1.3rem;font-weight:700}
.page-header p{color:var(--text2);font-size:0.85rem;margin-top:2px}

.card{background:var(--card);border-radius:var(--r);border:1px solid var(--border);padding:20px;margin-bottom:16px;transition:0.15s}
.card-title{font-size:0.95rem;font-weight:600;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}

.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

.stat-card{text-align:center;padding:16px}
.stat-icon{font-size:1.6rem;color:var(--accent2);margin-bottom:6px}
.stat-value{font-size:1.5rem;font-weight:700}
.stat-label{font-size:0.78rem;color:var(--text2);margin-top:2px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border:none;border-radius:var(--rs);font-size:0.85rem;font-weight:500;cursor:pointer;transition:0.15s;text-decoration:none;font-family:inherit}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent3);transform:translateY(-1px)}
.btn-secondary{background:var(--bg2);color:var(--text);border:1px solid var(--border)}
.btn-secondary:hover{background:var(--bg3)}
.btn-danger{background:var(--red);color:#fff}
.btn-danger:hover{background:#dc2626}
.btn-success{background:var(--green);color:#fff}
.btn-sm{padding:5px 11px;font-size:0.78rem}
.btn-lg{padding:12px 24px;font-size:0.92rem}
.btn-block{width:100%;justify-content:center}

.form-group{margin-bottom:14px}
.form-label{display:block;margin-bottom:5px;font-size:0.82rem;font-weight:500;color:var(--text2)}
.form-input,.form-select,.form-textarea{width:100%;padding:9px 13px;border:1px solid var(--border);border-radius:var(--rs);font-size:0.85rem;background:var(--bg);color:var(--text);font-family:inherit;transition:0.15s}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,102,241,0.12)}
.form-hint{font-size:0.75rem;color:var(--text3);margin-top:3px}
.form-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:0.85rem}

.alert{padding:10px 14px;border-radius:var(--rs);margin-bottom:12px;font-size:0.83rem;display:flex;align-items:center;gap:8px}
.alert-success{background:rgba(16,185,129,0.08);color:var(--green);border:1px solid rgba(16,185,129,0.15)}
.alert-danger{background:rgba(239,68,68,0.08);color:var(--red);border:1px solid rgba(239,68,68,0.15)}
.alert-info{background:rgba(99,102,241,0.08);color:var(--accent2);border:1px solid rgba(99,102,241,0.15)}

.table-container{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:0.84rem}
th{font-weight:600;color:var(--text2);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.04em;background:var(--bg2)}
tr:hover td{background:var(--bg2)}

.badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:20px;font-size:0.72rem;font-weight:500}
.badge-active{background:rgba(16,185,129,0.1);color:var(--green)}
.badge-inactive{background:rgba(239,68,68,0.1);color:var(--red)}

.empty-state{text-align:center;padding:40px 20px}
.empty-state i{font-size:2rem;color:var(--text3);margin-bottom:10px}
.empty-state p{color:var(--text2);font-size:0.88rem}

.auth-page{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:20px;background:var(--bg)}
.auth-card{background:var(--card);border-radius:var(--r);border:1px solid var(--border);padding:36px;max-width:420px;width:100%}
.auth-logo{text-align:center;margin-bottom:24px}
.auth-logo i{font-size:2rem;color:var(--accent2)}
.auth-logo h1{font-size:1.3rem;margin-top:6px}
.auth-logo p{color:var(--text2);font-size:0.85rem}
.auth-link{text-align:center;margin-top:12px;font-size:0.85rem;color:var(--text2)}
.auth-link a{color:var(--accent2);text-decoration:none;font-weight:500}

.copy-field{display:flex;align-items:center;gap:6px}
.copy-field input{flex:1;padding:7px 11px;border:1px solid var(--border);border-radius:var(--rs);font-size:0.82rem;background:var(--bg);color:var(--text)}

.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}

.form-input-group{display:flex;border:1px solid var(--border);border-radius:var(--rs);overflow:hidden;background:var(--bg)}
.form-input-group:focus-within{border-color:var(--accent)}
.form-input-group .form-input{border:none;flex:1}
.form-input-group .form-input:focus{box-shadow:none}
.form-input-group-text{padding:9px 13px;background:var(--bg2);color:var(--text2);font-size:0.82rem;white-space:nowrap}

.qr-code{display:flex;justify-content:center;padding:12px}
.qr-code img{max-width:180px;border-radius:var(--rs)}

.section-title{font-size:0.88rem;font-weight:600;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border);color:var(--text2)}

.sortable-list{list-style:none}
.sortable-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--rs);margin-bottom:6px;cursor:move}

[data-tooltip]{position:relative}
[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100%+6px);left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:3px 8px;border-radius:4px;font-size:0.7rem;white-space:nowrap;z-index:10}

.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);z-index:1000;align-items:center;justify-content:center}
.modal.active{display:flex}
.modal-content{background:var(--card);border-radius:var(--r);padding:28px;max-width:480px;width:90%}

@media(max-width:768px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .nav-toggle{display:block}
  .nav-menu{display:none;position:absolute;top:56px;left:0;width:100%;background:var(--card);border-bottom:1px solid var(--border);flex-direction:column;padding:6px 0}
  .nav-menu.active{display:flex}
  .nav-menu a{padding:10px 16px}
  .auth-card{padding:24px}
  .card{padding:14px}
}

@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.fade-in{animation:fadeIn 0.3s ease}
