/* V14.28 - báo cáo quản trị chuyên sâu */
.tg28-dashboard{font-family:inherit;color:#f4e8d7;max-width:100%;min-width:0}
.tg28-header{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}
.tg28-header h2{font-size:clamp(1.3rem,2vw,1.9rem);margin:3px 0 8px;color:#ffdb99}
.tg28-eyebrow{font-size:.72rem;letter-spacing:.13em;color:#d1a965;font-weight:800}
.tg28-header p{color:#c5c3d5;font-size:.91rem;margin:0}
.tg28-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:end}
.tg28-period-label,.tg28-story-label{display:flex;flex-direction:column;gap:5px;color:#dcd2c4;font-weight:650;font-size:.8rem}
.tg28-actions select,.tg28-story-label select{background:#171d32;border:1px solid #605879;border-radius:9px;color:#fff;padding:11px;max-width:100%;font:inherit}
.tg28-actions button{min-height:42px}
.tg28-status{background:#1d2640;border:1px solid #404864;border-radius:10px;padding:11px 14px;font-size:.85rem;color:#dce3f0;margin:12px 0 18px;overflow-wrap:anywhere}
.tg28-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}
.tg28-metric{border-radius:13px;padding:17px 16px;background:linear-gradient(125deg,#1b243b,#121b2e);border:1px solid rgba(219,173,91,.25);display:flex;flex-direction:column;gap:11px;min-width:0}
.tg28-metric span{font-size:.79rem;color:#c5c7d2}
.tg28-metric strong{font-size:clamp(1.3rem,2.35vw,2.1rem);color:#ffda96;font-variant-numeric:tabular-nums}
.tg28-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:15px;margin-bottom:15px;align-items:stretch}
.tg28-box{min-width:0;background:#151c30;border:1px solid #3e4766;padding:20px;border-radius:14px;box-shadow:0 8px 25px #0002;margin-bottom:15px}
.tg28-grid .tg28-box{margin:0}
.tg28-box-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.tg28-box-head h3{font-size:1.05rem;line-height:1.5;color:#ffe0a1;margin:0}
.tg28-box-head .muted{color:#b7bbcf;font-size:.8rem}
.tg28-chart{width:100%;min-height:220px;display:grid;place-items:center}
.tg28-chart svg{width:100%;height:auto;max-height:330px;overflow:visible}
.tg28-gridline{stroke:rgba(190,194,216,.15);stroke-width:1}
.tg28-axis{fill:#aeb6ca;font-size:11px}
.tg28-line{fill:none;stroke:#ffd087;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.tg28-dot{fill:#e8b76f;stroke:#171d2f;stroke-width:1.5}
.tg28-helper{font-size:.8rem;color:#b5bed2;line-height:1.65;margin:12px 0 0}
.tg28-top{display:flex;flex-direction:column;gap:9px}
.tg28-rank{display:grid;grid-template-columns:23px minmax(0,1fr);gap:10px;align-items:start;min-width:0}
.tg28-position{color:#edc27e;font-weight:800;font-size:.9rem;text-align:center}
.tg28-rank-head{display:flex;justify-content:space-between;gap:10px;font-size:.84rem;align-items:center}
.tg28-rank-head strong{min-width:0;overflow-wrap:anywhere;line-height:1.4}
.tg28-rank-head strong a{color:#f7e1b5;text-decoration:none}
.tg28-rank-head strong a:hover{text-decoration:underline}
.tg28-rank-head b{font-variant-numeric:tabular-nums;white-space:nowrap;color:#d7d4e8}
.tg28-progress{height:6px;border-radius:99px;background:#31374e;margin-top:7px;overflow:hidden}
.tg28-progress span{height:100%;display:block;background:linear-gradient(90deg,#d88d49,#ffe4a1);border-radius:99px}
.tg28-empty{padding:24px 12px;color:#c1c4d5;text-align:center;font-size:.9rem}
.tg28-story-label select{margin-top:4px;width:100%;font-size:.9rem}
.tg28-pages{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:.8rem}
.tg28-pages button{min-height:36px}
.tg28-table-wrap{overflow-x:auto;max-width:100%}
.tg28-table{width:100%;border-collapse:collapse;min-width:590px;color:#ece6dc;font-size:.86rem}
.tg28-table th,.tg28-table td{padding:12px 10px;text-align:left;border-bottom:1px solid #303c58;vertical-align:middle}
.tg28-table th{color:#efcf90;font-weight:750;background:#1d263e;white-space:nowrap}
.tg28-table td:first-child{white-space:nowrap}
.tg28-table td.tg28-num{text-align:right;font-variant-numeric:tabular-nums}
.tg28-err{color:#ffbbad}
.tg28-footnote{color:#adb6cb;font-size:.8rem;line-height:1.7;margin:14px 0 0}
@media(max-width:850px){.tg28-grid{grid-template-columns:1fr}.tg28-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tg28-box{padding:15px}}
@media(max-width:450px){.tg28-metrics{gap:8px}.tg28-metric{padding:13px 12px}.tg28-header,.tg28-actions{width:100%}.tg28-actions{display:grid;grid-template-columns:1fr 1fr}.tg28-period-label{grid-column:1/-1}.tg28-actions select{width:100%}.tg28-header h2{font-size:1.35rem}.tg28-chart{min-height:150px}}

.tg28-chart-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.tg28-chart-controls label{display:flex;gap:7px;align-items:center;font-size:.77rem;color:#aebbd2}
.tg28-chart-controls select{background:#1d263c;color:#ffda96;border:1px solid #4a5575;border-radius:8px;padding:7px 11px;font:inherit}
