/* ── Analytics page ── */
.an-page    { max-width:1100px; margin:0 auto; padding:2rem 1rem; }
.an-header  { display:flex; align-items:center; gap:1rem; margin-bottom:1.75rem; flex-wrap:wrap; }
.an-title   { font-size:1.4rem; font-weight:700; flex:1; }
.an-stats   { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:.75rem; margin-bottom:2rem; }
.an-card    { background:var(--surface,#fff); border:1px solid var(--border,#e5e0d8); border-radius:10px; padding:1.1rem 1.25rem; }
.an-card-val { font-size:2rem; font-weight:700; line-height:1.1; color:var(--primary,#1a1a1a); }
.an-card-lbl { font-size:.78rem; color:var(--text2,#888); margin-top:.15rem; }
.an-card.accent-purple .an-card-val { color:#7c4dff; }
.an-card.accent-teal   .an-card-val { color:#0e7490; }
.an-card.accent-amber  .an-card-val { color:#d97706; }
.an-card.accent-green  .an-card-val { color:#16a34a; }

.an-section { margin-bottom:2rem; }
.an-section h3 { font-size:1rem; font-weight:700; margin-bottom:1rem; color:var(--text1,#1a1a1a); }

.an-chart     { background:var(--surface,#fff); border:1px solid var(--border,#e5e0d8); border-radius:10px; padding:1.25rem 1.5rem; overflow-x:auto; }
.an-chart-row { display:flex; align-items:center; gap:.75rem; margin-bottom:.6rem; min-width:0; }
.an-chart-label { font-size:.8rem; width:180px; flex-shrink:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--text1,#1a1a1a); }
.an-chart-bar-wrap { flex:1; min-width:100px; height:22px; background:var(--bg,#f9f7f4); border-radius:4px; overflow:hidden; }
.an-chart-bar  { height:100%; border-radius:4px; transition:width .4s ease; }
.an-chart-count { font-size:.82rem; font-weight:600; width:54px; text-align:right; flex-shrink:0; color:var(--text2,#888); }
.bar-post    { background:#b45309; }
.bar-article { background:#0e7490; }
.bar-canvas  { background:#7c4dff; }
.bar-studio  { background:linear-gradient(90deg,#d97706,#7c4dff); }

.an-table-wrap { background:var(--surface,#fff); border:1px solid var(--border,#e5e0d8); border-radius:10px; overflow:hidden; }
.an-table { width:100%; border-collapse:collapse; font-size:.85rem; }
.an-table thead th { padding:.65rem 1rem; text-align:left; font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--text2,#888); background:var(--bg,#f9f7f4); border-bottom:1px solid var(--border,#e5e0d8); }
.an-table tbody tr:not(:last-child) td { border-bottom:1px solid var(--border,#e5e0d8); }
.an-table tbody tr:hover td { background:var(--bg,#f9f7f4); }
.an-table td { padding:.6rem 1rem; vertical-align:middle; }
.an-table .col-rank { color:var(--text2,#888); font-size:.78rem; width:36px; }
.an-table .col-views { font-weight:700; font-variant-numeric:tabular-nums; }
.views-bar-sm { display:inline-block; height:6px; border-radius:3px; vertical-align:middle; margin-left:.5rem; opacity:.5; }
.type-badge { display:inline-block; font-size:.7rem; font-weight:700; padding:.12rem .4rem; border-radius:3px; color:#fff; }
.type-post    { background:#b45309; }
.type-article { background:#0e7490; }
.type-canvas  { background:#7c4dff; }
.type-studio  { background:linear-gradient(135deg,#d97706,#7c4dff); }

.an-empty { padding:3rem; text-align:center; color:var(--text2,#888); }
.sort-btn { border:none; background:none; cursor:pointer; color:var(--text2,#888); font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:.65rem 1rem; text-align:left; display:flex; align-items:center; gap:.3rem; }
.sort-btn.active { color:var(--primary,#1a1a1a); }
