/* Cursor Proxy Admin — Professional Dark Theme */

/* Sidebar & modal: hide scrollbar */
nav ::-webkit-scrollbar,
#modal-content::-webkit-scrollbar { width: 0; height: 0; }
nav *, #modal-content { scrollbar-width: none; }

/* Main content: slim styled scrollbar */
main::-webkit-scrollbar { width: 6px; }
main::-webkit-scrollbar-track { background: transparent; }
main::-webkit-scrollbar-thumb {
  background: rgba(100,116,139,0.25);
  border-radius: 3px;
}
main::-webkit-scrollbar-thumb:hover {
  background: rgba(100,116,139,0.45);
}
main { scrollbar-width: thin; scrollbar-color: rgba(100,116,139,0.25) transparent; }

.nav-link {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 12px; border-radius: 10px;
  font-size: 13px; font-weight: 500;
  color: rgb(148 163 184); transition: all 0.15s;
}
.nav-link:hover { background: rgba(255,255,255,0.04); color: rgb(226 232 240); }
.nav-link.active { background: rgba(99,102,241,0.12); color: rgb(129 140 248); }
.nav-link.active svg { color: rgb(129 140 248); }

.card { background: rgb(15 23 42); border: 1px solid rgba(255,255,255,0.04); border-radius: 16px; }
.card-hover { transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s; }
.card-hover:hover { transform: translateY(-1px); border-color: rgba(255,255,255,0.08); box-shadow: 0 8px 32px -8px rgba(0,0,0,0.4); }

.stat-glow { position: relative; overflow: hidden; }
.stat-glow::before { content:''; position:absolute; inset:0; opacity:0.06; border-radius:inherit; }

.badge { display:inline-flex; align-items:center; gap:4px; padding:3px 10px; border-radius:20px; font-size:11px; font-weight:600; letter-spacing:0.02em; }
.badge-active { background:rgba(16,185,129,0.12); color:#34d399; }
.badge-exhausted { background:rgba(245,158,11,0.12); color:#fbbf24; }
.badge-expired { background:rgba(239,68,68,0.12); color:#f87171; }
.badge-disabled { background:rgba(100,116,139,0.12); color:#94a3b8; }

.table-header { font-size:11px; font-weight:600; color:rgb(100,116,139); text-transform:uppercase; letter-spacing:0.05em; }
.table-row { transition: background 0.1s; border-bottom: 1px solid rgba(255,255,255,0.03); }
.table-row:hover { background: rgba(255,255,255,0.02); }

.input-field {
  width:100%; padding:10px 14px; border-radius:10px;
  background:rgb(30,41,59); border:1px solid rgba(255,255,255,0.06);
  font-size:13px; color:rgb(226,232,240); outline:none; transition:all 0.15s;
}
.input-field:focus { border-color:rgb(99,102,241); box-shadow:0 0 0 3px rgba(99,102,241,0.15); }
.input-field::placeholder { color:rgb(100,116,139); }

.btn-primary {
  padding:10px 20px; border-radius:10px; font-size:13px; font-weight:600;
  background:linear-gradient(135deg,rgb(79,70,229),rgb(99,102,241));
  color:white; transition:all 0.15s; box-shadow:0 4px 12px -2px rgba(99,102,241,0.3);
  cursor:pointer; border:none; outline:none;
}
.btn-primary:hover { box-shadow:0 6px 20px -2px rgba(99,102,241,0.5); transform:translateY(-1px); }
.btn-primary:active { transform:translateY(0); }
.btn-primary:disabled { opacity:0.5; cursor:not-allowed; transform:none; }

.btn-ghost {
  padding:8px 16px; border-radius:8px; font-size:13px; font-weight:500;
  color:rgb(148,163,184); transition:all 0.15s; cursor:pointer; border:none; outline:none;
}
.btn-ghost:hover { background:rgba(255,255,255,0.05); color:rgb(226,232,240); }

.msg-system { background:rgba(245,158,11,0.06); border-left:3px solid rgba(245,158,11,0.4); }
.msg-user { background:rgba(99,102,241,0.06); border-left:3px solid rgba(99,102,241,0.4); }
.msg-assistant { background:rgba(16,185,129,0.06); border-left:3px solid rgba(16,185,129,0.4); }

.collapsible { max-height:200px; overflow:hidden; position:relative; }
.collapsible.expanded { max-height:none; }
.collapsible:not(.expanded)::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:60px;
  background:linear-gradient(transparent, rgb(15,23,42));
}

.page-header { padding:24px 32px 0; }
.page-body { padding:16px 32px 48px; }

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