:root {
  color-scheme: dark;
  --bg: #0a0a0a;
  --panel: #111111;
  --panel-2: #151515;
  --border: #1f1f1f;
  --border-2: #2a2a2a;
  --text: #f5f5f5;
  --muted: #909090;
  --green: #22c55e;
  --green-soft: rgba(34,197,94,.1);
  --danger: #ef4444;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); font-family: Inter, system-ui, sans-serif; }
body { min-height: 100vh; }
button, input, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.hidden { display: none !important; }
.muted { color: var(--muted); }
.eyebrow { margin: 0 0 8px; text-transform: uppercase; letter-spacing: .14em; font-size: 11px; color: var(--green); font-weight: 800; }

.auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 50% -10%, rgba(34,197,94,.08), transparent 36%), var(--bg); }
.auth-card { width: min(440px,100%); border: 1px solid var(--border); border-radius: 22px; padding: 30px; background: rgba(17,17,17,.96); box-shadow: 0 20px 70px rgba(0,0,0,.38); }
.brand { display:flex; align-items:center; gap: 12px; font-weight: 800; letter-spacing: -.04em; font-size: 20px; }
.brand-mark { width: 34px; height: 34px; border-radius: 10px; display:grid; place-items:center; background: var(--green); color:#061108; font-weight:900; box-shadow: 0 0 32px rgba(34,197,94,.18); }
.auth-card h1 { margin: 28px 0 8px; font-size: 28px; letter-spacing: -.045em; }
.auth-card > p { margin: 0 0 24px; color: var(--muted); line-height: 1.6; }
.field { display:grid; gap:8px; margin: 14px 0; }
.field label { font-size: 13px; font-weight: 600; color: #d4d4d4; }
.input { width:100%; border:1px solid var(--border-2); border-radius: 12px; background:#0d0d0d; color:var(--text); padding: 13px 14px; outline:none; transition:.18s ease; }
.input:focus { border-color: rgba(34,197,94,.7); box-shadow: 0 0 0 3px rgba(34,197,94,.08); }
.btn { border: 1px solid var(--border-2); border-radius: 12px; padding: 12px 16px; background: #171717; color: var(--text); font-weight: 700; transition:.18s ease; }
.btn:hover { border-color:#3a3a3a; transform: translateY(-1px); }
.btn:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.btn-primary { border-color: var(--green); background: var(--green); color:#061108; }
.btn-primary:hover { border-color:#31d56c; background:#31d56c; }
.btn-block { width:100%; margin-top:10px; }
.auth-link { text-align:center; margin-top:20px; color: var(--muted); font-size:14px; }
.auth-link a { color: var(--green); font-weight:700; }

.shell { min-height:100vh; display:grid; grid-template-columns: 250px 1fr; }
.sidebar { position:fixed; inset:0 auto 0 0; width:250px; padding:22px 16px; border-right:1px solid var(--border); background:#0c0c0c; display:flex; flex-direction:column; z-index:30; }
.sidebar .brand { padding: 0 8px 22px; border-bottom:1px solid var(--border); }
.nav { display:grid; gap:6px; padding-top:20px; }
.nav-btn { border:1px solid transparent; background:transparent; color:#a3a3a3; display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:11px; text-align:left; font-weight:600; }
.nav-btn:hover { background:#121212; color:#e5e5e5; }
.nav-btn.active { color:#f5f5f5; background: var(--green-soft); border-color: rgba(34,197,94,.18); }
.nav-icon { width:21px; text-align:center; opacity:.85; }
.sidebar-bottom { margin-top:auto; padding-top:16px; border-top:1px solid var(--border); }
.user-mini { padding:6px 8px 14px; }
.user-mini strong { display:block; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.user-mini span { display:block; color:var(--muted); font-size:11px; margin-top:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.main { grid-column:2; min-width:0; }
.topbar { height:70px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; padding:0 28px; position:sticky; top:0; background:rgba(10,10,10,.92); backdrop-filter:blur(14px); z-index:20; }
.topbar h2 { font-size:15px; margin:0; }
.mobile-menu { display:none; }
.content { padding:30px; width:min(1260px,100%); margin:0 auto; }
.page-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:24px; }
.page-head h1 { margin:0; font-size:30px; letter-spacing:-.045em; }
.page-head p { margin:7px 0 0; color:var(--muted); line-height:1.6; }
.grid { display:grid; gap:16px; }
.grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.card { border:1px solid var(--border); border-radius:16px; background:var(--panel); padding:20px; box-shadow: 0 12px 40px rgba(0,0,0,.12); }
.stat { min-height:125px; }
.stat-label { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.stat-value { margin-top:15px; font-size:30px; font-weight:800; letter-spacing:-.04em; }
.status { display:inline-flex; align-items:center; gap:7px; padding:6px 9px; border-radius:999px; background:var(--green-soft); color:#7ee6a3; font-size:11px; font-weight:800; border:1px solid rgba(34,197,94,.16); }
.status::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--green); }
.consult-box { padding:24px; }
.consult-row { display:grid; grid-template-columns:1fr auto; gap:10px; }
.section-title { margin:0 0 16px; font-size:15px; }
.info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.info { padding:13px 0; min-width:0; }
.info span { display:block; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.07em; margin-bottom:5px; }
.info strong { display:block; font-size:13px; font-weight:600; overflow-wrap:anywhere; line-height:1.45; }
.list { display:grid; gap:9px; }
.list-item { padding:12px 13px; border:1px solid var(--border); border-radius:11px; background:#0e0e0e; font-size:13px; line-height:1.5; }
.list-item b { color:#d4d4d4; }
.result { display:grid; gap:16px; margin-top:16px; }
.table-wrap { overflow:auto; border:1px solid var(--border); border-radius:15px; }
table { width:100%; border-collapse:collapse; min-width:720px; background:var(--panel); }
th, td { text-align:left; padding:14px 16px; border-bottom:1px solid var(--border); font-size:12px; }
th { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; background:#0f0f0f; }
tr:last-child td { border-bottom:0; }
.table-btn { border:1px solid var(--border-2); border-radius:9px; background:#151515; color:#ddd; padding:8px 10px; font-size:11px; font-weight:700; }
.empty { text-align:center; padding:42px 18px; color:var(--muted); border:1px dashed var(--border-2); border-radius:15px; }
.loader { width:17px; height:17px; border:2px solid rgba(0,0,0,.25); border-top-color:#071009; border-radius:50%; display:inline-block; vertical-align:middle; animation: spin .7s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.toast-root { position:fixed; right:18px; top:18px; z-index:100; display:grid; gap:10px; width:min(380px,calc(100% - 36px)); }
.toast { border:1px solid var(--border-2); border-left:3px solid var(--green); border-radius:12px; background:#151515; padding:13px 14px; box-shadow:0 16px 40px rgba(0,0,0,.45); font-size:13px; animation:toastIn .2s ease; }
.toast.error { border-left-color:var(--danger); }
@keyframes toastIn { from { transform:translateY(-8px); opacity:0; } }
.kicker-card { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.kicker-card h3 { margin:0 0 6px; font-size:16px; }
.kicker-card p { margin:0; color:var(--muted); font-size:12px; }
.code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; color:#b7f7ca; }

@media (max-width: 900px) {
  .shell { display:block; }
  .sidebar { transform:translateX(-100%); transition:.2s ease; box-shadow:20px 0 60px rgba(0,0,0,.5); }
  .sidebar.open { transform:translateX(0); }
  .main { grid-column:auto; }
  .mobile-menu { display:inline-flex; }
  .topbar { padding:0 16px; }
  .content { padding:20px 16px; }
  .grid-3, .grid-2, .info-grid { grid-template-columns:1fr; }
  .page-head { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 560px) {
  .auth-shell { padding:14px; }
  .auth-card { padding:22px; border-radius:18px; }
  .consult-row { grid-template-columns:1fr; }
  .kicker-card { align-items:flex-start; flex-direction:column; }
}

/* API */
.notice { border:1px solid var(--border-2); border-radius:14px; padding:14px 16px; margin-bottom:16px; display:grid; gap:5px; background:#111; }
.notice strong { font-size:13px; }
.notice span { color:var(--muted); font-size:12px; line-height:1.5; }
.notice.warning { border-color:rgba(234,179,8,.28); background:rgba(234,179,8,.055); }
.api-key-card { overflow:hidden; }
.api-key-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.api-key-head .section-title { margin:5px 0 0; }
.key-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; margin-top:18px; }
.key-value { display:block; min-width:0; padding:14px; border:1px solid var(--border-2); border-radius:12px; background:#090909; color:#b7f7ca; white-space:nowrap; overflow:auto; font-size:12px; }
.key-meta { color:var(--muted); font-size:11px; margin-top:9px; }
.danger-zone { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:20px; margin-top:20px; border-top:1px solid var(--border); }
.danger-zone strong { display:block; font-size:13px; }
.danger-zone p { margin:5px 0 0; color:var(--muted); font-size:11px; }
.btn-danger { border-color:rgba(239,68,68,.35); color:#fca5a5; background:rgba(239,68,68,.06); }
.btn-danger:hover { border-color:rgba(239,68,68,.65); background:rgba(239,68,68,.1); }
.endpoint-row { display:flex; align-items:center; gap:10px; padding:13px 14px; border:1px solid var(--border); border-radius:12px; background:#0d0d0d; overflow:auto; }
.endpoint-row code { color:#d4d4d4; white-space:nowrap; font-size:12px; }
.method { color:#86efac; background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.18); border-radius:7px; padding:5px 7px; font-weight:800; font-size:10px; }
.helper { color:var(--muted); font-size:12px; line-height:1.6; margin:13px 0 0; }
.helper code { color:#b7f7ca; }
.code-block { margin:0 0 14px; padding:14px; border:1px solid var(--border); border-radius:12px; background:#090909; overflow:auto; min-height:105px; }
.code-block code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:#d4d4d4; font-size:11px; line-height:1.65; white-space:pre; }
.security-note p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; max-width:900px; }

@media (max-width: 560px) {
  .key-row { grid-template-columns:1fr; }
  .danger-zone { align-items:flex-start; flex-direction:column; }
  .danger-zone .btn { width:100%; }
}

/* Documentação pública */
.docs-shell { min-height:100vh; background:var(--bg); }
.docs-sidebar { position:fixed; inset:0 auto 0 0; width:260px; padding:22px 16px; border-right:1px solid var(--border); background:#0c0c0c; display:flex; flex-direction:column; z-index:30; }
.docs-brand { padding:0 8px 18px; border-bottom:1px solid var(--border); }
.docs-version { margin:16px 9px 8px; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
.docs-nav { display:grid; gap:4px; }
.docs-nav a { padding:9px 10px; border-radius:9px; color:#a3a3a3; font-size:12px; font-weight:600; }
.docs-nav a:hover { background:#121212; color:#f5f5f5; }
.docs-side-bottom { margin-top:auto; padding-top:16px; border-top:1px solid var(--border); }
.docs-main { margin-left:260px; min-width:0; }
.docs-topbar { min-height:70px; padding:13px 28px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:18px; position:sticky; top:0; z-index:20; background:rgba(10,10,10,.94); backdrop-filter:blur(14px); }
.docs-topbar > div:first-child { display:grid; gap:3px; }
.docs-topbar strong { font-size:13px; }
.docs-topbar span:not(.status) { color:var(--muted); font-size:10px; }
.docs-top-actions { display:flex; align-items:center; gap:9px; }
.docs-content { width:min(980px,100%); margin:0 auto; padding:54px 34px 90px; }
.docs-hero { padding:14px 0 44px; border-bottom:1px solid var(--border); }
.docs-hero h1 { margin:0; font-size:46px; letter-spacing:-.055em; line-height:1.05; }
.docs-hero > p:not(.eyebrow) { max-width:760px; color:var(--muted); line-height:1.8; font-size:14px; }
.docs-base-url { margin-top:24px; padding:10px 10px 10px 14px; border:1px solid var(--border); border-radius:13px; background:#0e0e0e; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; }
.docs-base-url > span { color:var(--muted); font-size:9px; letter-spacing:.09em; font-weight:800; }
.docs-base-url code { color:#b7f7ca; overflow:auto; font-size:12px; }
.docs-section { padding:44px 0; border-bottom:1px solid var(--border); scroll-margin-top:90px; }
.docs-heading { display:grid; grid-template-columns:36px 1fr; gap:14px; align-items:start; margin-bottom:22px; }
.docs-heading > span { width:30px; height:30px; border:1px solid rgba(34,197,94,.22); background:var(--green-soft); color:#86efac; border-radius:9px; display:grid; place-items:center; font-size:10px; font-weight:800; }
.docs-heading h2 { margin:0; font-size:22px; letter-spacing:-.035em; }
.docs-heading p { margin:6px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.docs-section > p { color:#b4b4b4; font-size:13px; line-height:1.75; }
.docs-section code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:#b7f7ca; }
.docs-callout { margin:18px 0; padding:15px 16px; border:1px solid var(--border); border-radius:12px; background:#0e0e0e; display:grid; gap:8px; }
.docs-callout strong { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.07em; }
.docs-callout code { font-size:12px; overflow:auto; }
.docs-endpoint { display:flex; align-items:center; gap:11px; padding:14px 15px; border:1px solid var(--border); border-radius:12px; background:#0e0e0e; overflow:auto; }
.docs-endpoint.alt { margin-top:8px; }
.docs-endpoint code { white-space:nowrap; font-size:12px; color:#e5e5e5; }
.docs-table-wrap { overflow:auto; margin-top:18px; border:1px solid var(--border); border-radius:12px; }
.docs-table { min-width:650px; }
.docs-table td { color:#bdbdbd; line-height:1.55; }
.docs-table td code { color:#b7f7ca; }
.docs-code-grid { display:grid; gap:12px; }
.docs-code-card { padding:0; overflow:hidden; }
.docs-code-title { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 13px; border-bottom:1px solid var(--border); }
.docs-code-title strong { font-size:12px; }
.docs-code-card .code-block { margin:0; border:0; border-radius:0; min-height:auto; background:#090909; }
.docs-response { max-height:540px; }
.http-code { display:inline-block; min-width:42px; padding:4px 6px; border-radius:7px; text-align:center; font-size:10px; font-weight:800; }
.http-code.bad { color:#fca5a5; background:rgba(239,68,68,.08); border:1px solid rgba(239,68,68,.16); }
.http-code.warn { color:#fde68a; background:rgba(234,179,8,.07); border:1px solid rgba(234,179,8,.16); }
.docs-list { margin:18px 0 0; padding:0; list-style:none; display:grid; gap:10px; }
.docs-list li { position:relative; padding:13px 14px 13px 38px; border:1px solid var(--border); border-radius:11px; background:#0e0e0e; color:#bdbdbd; font-size:12px; line-height:1.6; }
.docs-list li::before { content:'✓'; position:absolute; left:14px; top:13px; color:var(--green); font-weight:900; }
.docs-footer { padding-top:32px; color:#666; font-size:11px; }

@media (max-width: 820px) {
  .docs-sidebar { position:static; width:auto; height:auto; border-right:0; border-bottom:1px solid var(--border); }
  .docs-nav, .docs-version { display:none; }
  .docs-side-bottom { position:absolute; top:13px; right:14px; margin:0; padding:0; border:0; }
  .docs-side-bottom .btn { width:auto; }
  .docs-main { margin-left:0; }
  .docs-topbar { position:static; padding:12px 16px; }
  .docs-topbar > div:first-child span { display:none; }
  .docs-content { padding:36px 18px 70px; }
  .docs-hero h1 { font-size:36px; }
}
@media (max-width: 560px) {
  .docs-top-actions .status { display:none; }
  .docs-base-url { grid-template-columns:1fr auto; }
  .docs-base-url > span { grid-column:1 / -1; }
  .docs-heading { grid-template-columns:30px 1fr; gap:10px; }
  .docs-side-bottom { display:none; }
}

/* Visualização de resultados */
.consult-row-advanced { grid-template-columns: 180px minmax(0,1fr) auto; }
.consult-row-advanced select { cursor:pointer; }
.result-page-head { align-items:center; }
.result-viewer { display:grid; gap:16px; }
.result-toolbar { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr); gap:20px; align-items:end; position:sticky; top:86px; z-index:12; background:rgba(17,17,17,.96); backdrop-filter:blur(12px); }
.result-toolbar-title h2 { margin:0; font-size:21px; letter-spacing:-.035em; }
.result-toolbar-title > span { display:block; margin-top:7px; color:var(--muted); font-size:11px; }
.result-toolbar-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.result-search-wrap { position:relative; display:block; }
.result-search-wrap > span { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--muted); pointer-events:none; }
.result-search-wrap .input { padding-left:38px; }
.result-section { padding:0; overflow:hidden; }
.result-section-head { min-height:55px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 18px; border-bottom:1px solid var(--border); }
.result-section-head .section-title { margin:0; }
.result-count { min-width:28px; height:24px; display:grid; place-items:center; border:1px solid var(--border-2); border-radius:999px; color:var(--muted); font-size:10px; }
.data-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:6px 18px 18px; }
.data-field { min-width:0; padding:14px 10px; border-bottom:1px solid rgba(255,255,255,.045); }
.data-field-copy { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; }
.data-label { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.07em; font-weight:700; }
.data-value { display:block; color:#efefef; font-size:13px; line-height:1.55; overflow-wrap:anywhere; font-weight:600; }
.icon-btn { opacity:0; border:0; background:transparent; color:#8cecab; padding:3px 0; font-size:10px; font-weight:800; transition:.15s ease; }
.data-field:hover .icon-btn, .icon-btn:focus { opacity:1; }
.records-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:16px 18px 18px; }
.record-card { min-width:0; border:1px solid var(--border); border-radius:13px; background:#0d0d0d; overflow:hidden; }
.record-title { padding:11px 13px; border-bottom:1px solid var(--border); color:#d7d7d7; font-size:11px; font-weight:800; }
.record-card .data-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:4px 8px 10px; }
.record-card .data-field { padding:11px 8px; }
.photo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:18px; }
.photo-card { border:1px solid var(--border); border-radius:14px; background:#0d0d0d; padding:10px; min-width:0; }
.photo-preview { width:100%; aspect-ratio:1/1; border:0; border-radius:11px; padding:0; overflow:hidden; background:#080808; display:block; }
.photo-preview img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .2s ease; }
.photo-preview:hover img { transform:scale(1.025); }
.photo-info { display:grid; gap:4px; padding:10px 2px 8px; }
.photo-info strong { font-size:12px; }
.photo-info span { color:var(--muted); font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.photo-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.photo-actions .table-btn { text-align:center; }
.photo-download { display:flex; align-items:center; justify-content:center; }
.photo-modal { position:fixed; inset:0; z-index:120; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:28px; background:rgba(0,0,0,.88); backdrop-filter:blur(8px); }
.photo-modal img { max-width:min(900px,94vw); max-height:76vh; object-fit:contain; border-radius:16px; border:1px solid var(--border-2); background:#050505; box-shadow:0 30px 90px rgba(0,0,0,.55); }
.photo-modal-close { position:fixed; top:18px; right:22px; width:42px; height:42px; border-radius:50%; border:1px solid #333; background:#111; color:#fff; font-size:24px; line-height:1; }

@media (max-width: 1000px) {
  .data-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .result-toolbar { grid-template-columns:1fr; align-items:stretch; }
}
@media (max-width: 760px) {
  .consult-row-advanced { grid-template-columns:1fr; }
  .result-toolbar { position:static; }
  .result-toolbar-actions { grid-template-columns:1fr; }
  .data-grid, .record-card .data-grid { grid-template-columns:1fr; }
  .records-grid { grid-template-columns:1fr; }
  .photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .result-section-head { align-items:flex-start; }
  .icon-btn { opacity:1; }
}
@media (max-width: 460px) {
  .photo-grid { grid-template-columns:1fr; }
  .result-section-head { flex-direction:column; }
  .result-section-head .table-btn { width:100%; }
  .photo-modal { padding:16px; }
}

/* Planos, cobrança e administração */
.stat-caption { margin-top:7px; color:var(--muted); font-size:11px; }
.stat-plan { font-size:24px; }
.upgrade-card, .plan-card { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.upgrade-card h3, .plan-card h3 { margin:0 0 7px; font-size:17px; }
.upgrade-card p:not(.eyebrow), .plan-card p:not(.eyebrow) { margin:0; color:var(--muted); font-size:12px; line-height:1.65; max-width:720px; }
.plan-badge { display:inline-flex; align-items:center; width:max-content; padding:5px 9px; border-radius:999px; border:1px solid var(--border-2); background:#151515; color:#d4d4d4; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.plan-badge.free { color:#d4d4d4; }
.plan-badge.paid { color:#86efac; border-color:rgba(34,197,94,.22); background:var(--green-soft); }
.plan-badge.admin { color:#c4b5fd; border-color:rgba(139,92,246,.25); background:rgba(139,92,246,.08); }
.profile-plan { margin-bottom:16px; }
.grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.admin-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:18px; }
.admin-toolbar .section-title { margin-bottom:4px; }
.admin-toolbar .helper { margin:0; }
.admin-search { width:min(360px,100%); }
.admin-user-list { display:grid; gap:12px; }
.admin-user { border:1px solid var(--border); border-radius:14px; background:#0e0e0e; overflow:hidden; }
.admin-user-main { padding:16px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--border); }
.admin-user-ident { min-width:0; }
.admin-user-ident strong, .admin-user-ident span, .admin-user-ident small { display:block; }
.admin-user-ident strong { font-size:14px; }
.admin-user-ident span { color:var(--muted); font-size:11px; margin-top:4px; overflow-wrap:anywhere; }
.admin-user-ident small { color:#707070; font-size:10px; margin-top:3px; }
.admin-user-quota { text-align:right; display:grid; justify-items:end; gap:4px; }
.admin-user-quota strong { font-size:17px; }
.admin-user-quota small { color:var(--muted); font-size:10px; }
.admin-controls { padding:14px 16px 16px; display:grid; grid-template-columns:160px 160px 170px minmax(220px,1fr); gap:10px; align-items:end; }
.admin-controls label { display:grid; gap:7px; color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.admin-actions { display:flex; justify-content:flex-end; gap:8px; }
.admin-actions .btn { white-space:nowrap; }

@media (max-width: 1050px) {
  .grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-actions { justify-content:flex-start; }
}
@media (max-width: 700px) {
  .upgrade-card, .plan-card, .admin-toolbar, .admin-user-main { align-items:flex-start; flex-direction:column; }
  .upgrade-card .btn { width:100%; text-align:center; }
  .admin-search { width:100%; }
  .admin-user-quota { text-align:left; justify-items:start; }
  .admin-controls { grid-template-columns:1fr; }
  .admin-actions { display:grid; grid-template-columns:1fr; }
  .admin-actions .btn { width:100%; }
}
@media (max-width: 500px) {
  .grid-4 { grid-template-columns:1fr; }
}
