/* YouTube BB Rank | CSS consolidado das páginas públicas. */

/* ===== Dashboard público ===== */
/* YouTube BB Rank | Dashboard público
   Estilos exclusivos do Dashboard. Regras preservadas durante a reorganização.
*/
:root{--bg:#080d18;--surface:#101827;--surface2:#151f31;--line:rgba(148,163,184,.16);--muted:#94a3b8;--text:#f1f5f9;--blue:#60a5fa;--cyan:#67e8f9;--green:#34d399;--purple:#c4b5fd}

*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 0%,rgba(37,99,235,.15),transparent 35%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

a{color:inherit;text-decoration:none}
.dashboard {
    max-width: 1440px;
    margin: 0 auto;
    padding: 8px clamp(16px, 3vw, 42px) 56px;
}

.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,#2563eb,#06b6d4);display:grid;place-items:center;font-size:22px;box-shadow:0 8px 30px #2563eb40}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--cyan);font-size:10px;font-weight:800}.brand h1{font-size:clamp(23px,3vw,32px);letter-spacing:-.04em;margin:3px 0 0}.top-meta{color:var(--muted);font-size:12px;text-align:right}.test-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #f59e0b55;color:#fbbf24;background:#f59e0b12;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800;margin-bottom:7px}.dot{width:6px;height:6px;background:#fbbf24;border-radius:50%}

.intro{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:24px 0}.intro h2{font-size:clamp(24px,3vw,38px);letter-spacing:-.045em;margin:0 0 8px}.intro p{color:var(--muted);margin:0;line-height:1.6;max-width:680px;font-size:14px}.period{white-space:nowrap;color:#cbd5e1;background:#111c2d;border:1px solid var(--line);padding:10px 13px;border-radius:12px;font-size:12px}

.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0 34px}.kpi{position:relative;overflow:hidden;background:linear-gradient(145deg,#121d30,#0d1524);border:1px solid var(--line);border-radius:18px;padding:20px}.kpi:after{content:"";position:absolute;width:100px;height:100px;right:-45px;top:-50px;border-radius:50%;background:var(--glow,rgba(96,165,250,.12));filter:blur(3px)}.kpi-label{color:var(--muted);font-size:12px;font-weight:650}.kpi-value{font-size:clamp(25px,3vw,35px);font-weight:850;letter-spacing:-.05em;margin:11px 0 5px}.kpi-foot{font-size:11px;color:#64748b}

.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:36px 0 16px}.section-heading h2{font-size:20px;letter-spacing:-.025em;margin:0 0 5px}.section-heading p{font-size:12px;color:var(--muted);margin:0;line-height:1.5}.section-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--blue);font-weight:800;margin-bottom:7px}

.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel{min-width:0;background:linear-gradient(160deg,rgba(18,28,45,.96),rgba(12,19,32,.98));border:1px solid var(--line);border-radius:20px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;gap:12px;padding:19px 20px 15px;border-bottom:1px solid var(--line)}.panel-head h3{margin:0;font-size:15px;letter-spacing:-.015em}.panel-head p{color:var(--muted);font-size:11px;margin:6px 0 0}.panel-icon{width:35px;height:35px;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--line);background:#ffffff06;border-radius:11px;font-size:17px}.rows{padding:5px 12px 12px}.rank-row{display:grid;grid-template-columns:26px 38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 8px;border-bottom:1px solid rgba(148,163,184,.09);border-radius:10px;transition:background .15s}.rank-row:last-child{border-bottom:0}.rank-row:hover{background:#ffffff07}.rank{font-size:11px;font-weight:850;color:#64748b;text-align:center}.rank.top{color:#fbbf24}.avatar{width:38px;height:38px;border-radius:12px;object-fit:cover;background:#263247;border:1px solid #ffffff12}.channel-name{font-size:12px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-name-line{display:flex;align-items:center;gap:6px;min-width:0}.channel-name-line .channel-name{min-width:0}.channel-flag{width:18px;height:13px;object-fit:cover;border-radius:3px;border:1px solid rgba(255,255,255,.22);box-shadow:0 1px 3px #0005;flex:0 0 auto;vertical-align:middle}.channel-sub{font-size:10px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric{text-align:right;font-size:13px;font-weight:850;white-space:nowrap}.metric small{display:block;color:var(--muted);font-size:10px;font-weight:500;margin-top:4px}.positive{color:var(--green)}.blue{color:var(--blue)}.purple{color:var(--purple)}.empty{padding:24px 12px;color:var(--muted);font-size:12px;text-align:center}

.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:16px}.video-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#0b1321;transition:transform .18s,border-color .18s}.video-card:hover{transform:translateY(-3px);border-color:#60a5fa66}.thumb-wrap{position:relative;aspect-ratio:16/9;background:#1e293b;overflow:hidden}.thumb{width:100%;height:100%;object-fit:cover;display:block}.video-duration{position:absolute;right:8px;bottom:8px;padding:4px 6px;background:#020617e8;border-radius:5px;font-size:10px;font-weight:800}.video-body{padding:12px}.video-title{font-size:12px;font-weight:750;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:35px}.video-channel{font-size:10px;color:var(--muted);margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-published{display:flex;align-items:center;gap:5px;margin-top:6px;color:#94a3b8;font-size:10px;line-height:1.4}.publish-icon{color:#67e8f9;font-size:12px;flex:0 0 auto}.video-stat{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.video-stat strong{font-size:13px}.video-stat span{font-size:10px;color:var(--muted)}

.country-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}.country-card{display:flex;align-items:center;gap:12px;padding:13px;background:#ffffff04;border:1px solid var(--line);border-radius:14px;min-width:0}.flag{width:34px;height:26px;object-fit:cover;border-radius:5px;background:#263247}.country-copy{min-width:0;flex:1}.country-name{font-size:12px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.country-channel{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.country-subs{font-size:12px;font-weight:850;color:var(--blue);white-space:nowrap}

.note{font-size:11px;color:#64748b;line-height:1.6;margin-top:22px}.footer-line{border-top:1px solid var(--line);margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;gap:12px;color:#64748b;font-size:10px}

@media(max-width:1000px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.country-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:680px){.dashboard{padding:20px 13px 36px}.topbar{align-items:flex-start}.top-meta{max-width:130px}.intro{display:block}.period{display:inline-block;margin-top:15px}.grid-2{grid-template-columns:1fr}.kpis{gap:9px}.kpi{padding:15px;border-radius:15px}.kpi-value{font-size:27px}.video-grid{grid-template-columns:1fr;padding:11px}.video-card{display:grid;grid-template-columns:42% minmax(0,1fr)}.thumb-wrap{aspect-ratio:4/3;height:100%}.video-body{padding:11px}.video-title{min-height:0}.video-stat{margin-top:8px;padding-top:8px}.country-grid{grid-template-columns:1fr;padding:11px}.section-heading{align-items:flex-start;flex-direction:column}.footer-line{flex-direction:column}}


/* ===== Ranking público: bloco inline 1 ===== */
:root{--rk-line:rgba(255,255,255,.09);--rk-text:#f4f6fa;--rk-muted:#929cab;--rk-lime:#d6ff3f}

.rk-page{max-width:1600px;margin:0 auto;padding:8px clamp(14px,2vw,30px) 44px;color:var(--rk-text)}

.rk-hero{padding:26px;border:1px solid var(--rk-line);border-radius:20px;background:radial-gradient(ellipse at 85% 0%,rgba(214,255,63,.13),transparent 42%),linear-gradient(135deg,#171e29,#0c1016)}

.rk-kicker{color:var(--rk-lime);font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}

.rk-hero h1{font-size:clamp(28px,4vw,42px);line-height:1.05;letter-spacing:-.04em;margin:12px 0}

.rk-hero p{color:#aab4c2;max-width:760px;font-size:14px;line-height:1.6;margin-bottom:0}

.rk-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}

.rk-toolbar select,.rk-toolbar input,.rk-search{background:#0d1219;color:#fff;border:1px solid var(--rk-line);border-radius:10px;padding:11px;color-scheme:dark}.rk-filter-label{display:flex;align-items:center;gap:7px;color:var(--rk-muted);font-size:12px}.rk-filter-label select{max-width:220px}.rk-filter-hidden{display:none!important}

.rk-country-picker{position:relative;display:inline-flex;align-items:center}.rk-country-picker input{width:205px;max-width:100%;padding-right:34px}.rk-country-picker:after{content:"⌕";position:absolute;right:11px;color:var(--rk-lime);font-size:17px;pointer-events:none}.rk-country-suggestions{position:absolute;z-index:1000;top:calc(100% + 7px);left:0;width:max(100%,245px);max-height:280px;overflow-y:auto;background:#111720;border:1px solid rgba(214,255,63,.28);border-radius:12px;box-shadow:0 14px 36px #0009;padding:5px;display:none}.rk-country-suggestions.open{display:block}.rk-country-suggestion{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-radius:8px;background:transparent;color:#f4f6fa;text-align:left;padding:10px 11px;cursor:pointer;font:inherit}.rk-country-suggestion:hover,.rk-country-suggestion:focus{outline:none;background:rgba(214,255,63,.12);color:var(--rk-lime)}.rk-country-suggestion small{color:#929cab;font-size:11px;letter-spacing:.06em}.rk-country-suggestion.clear{border-bottom:1px solid var(--rk-line);border-radius:6px;color:#aab4c2}.rk-country-no-results{padding:12px;color:#929cab;font-size:12px}

.rk-period-nav{display:inline-flex;align-items:center;gap:12px;padding:4px 8px;border:1px solid var(--rk-line);border-radius:12px;background:#0d1219}

.rk-period-current{min-width:145px;text-align:center;color:#f4f6fa;font-size:14px}

.rk-period-arrow{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:#171e29;color:var(--rk-lime);font-size:26px;line-height:1;text-decoration:none;font-weight:800}

.rk-period-arrow:hover:not(.disabled){background:var(--rk-lime);color:#14190b}

.rk-period-arrow.disabled{opacity:.3;cursor:not-allowed}

.rk-btn{border:0;border-radius:10px;padding:11px 15px;background:var(--rk-lime);color:#14190b;font-weight:850;cursor:pointer}

.rk-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}

.rk-stat{padding:14px;border:1px solid var(--rk-line);border-radius:12px;background:#0e131b}

.rk-stat span{display:block;font-size:10px;color:var(--rk-muted);font-weight:700}.rk-stat strong{display:block;margin-top:6px;font-size:22px;color:var(--rk-lime)}

.rk-table-wrap{border:1px solid var(--rk-line);border-radius:16px;overflow:hidden;background:#121720}

.rk-table-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px;border-bottom:1px solid var(--rk-line)}

.rk-table-head h2{font-size:16px;margin:0}.rk-table-scroll{display:block;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding-bottom:4px}

.rk-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:12px}

.rk-table th{position:sticky;top:0;background:#171e29;color:#aeb8c6;text-align:right;white-space:normal;overflow-wrap:anywhere;padding:10px 6px;border-bottom:1px solid var(--rk-line);font-size:10px;text-transform:uppercase;letter-spacing:.02em}

.rk-table th:first-child,.rk-table th:nth-child(2),.rk-table th:nth-child(3),.rk-table td:first-child,.rk-table td:nth-child(2),.rk-table td:nth-child(3){text-align:left}

.rk-table th button{all:unset;cursor:pointer;color:inherit;font:inherit}.rk-table th button:hover,.rk-table th button.active{color:var(--rk-lime)}

.rk-table td{padding:10px 6px;border-bottom:1px solid rgba(255,255,255,.055);text-align:right;white-space:normal;overflow-wrap:anywhere}

.rk-table th:last-child,.rk-table td:last-child{padding-right:20px}

.rk-table th:nth-child(1),.rk-table td:nth-child(1){width:5%}.rk-table th:nth-child(2),.rk-table td:nth-child(2){width:19%;max-width:230px}.rk-table th:nth-child(3),.rk-table td:nth-child(3){width:6%}.rk-table th:nth-child(4),.rk-table td:nth-child(4){width:9%}.rk-table th:nth-child(n+5),.rk-table td:nth-child(n+5){width:8%}.rk-table[data-period="current"] .rk-period-column{display:none}

.rk-table tbody tr:hover{background:rgba(214,255,63,.07)}.rk-table tbody tr:last-child td{border-bottom:0}.rk-table tbody tr[data-url]{cursor:pointer}.rk-table tbody tr[data-url]:focus{outline:2px solid var(--rk-lime);outline-offset:-2px}

.rk-position{font-weight:900;color:var(--rk-lime);width:74px;white-space:nowrap}.rk-position-change{display:inline-flex;align-items:center;justify-content:center;margin-left:5px;font-size:12px;font-weight:900;vertical-align:middle}.rk-position-change.up{color:var(--rk-lime)}.rk-position-change.down{color:#ff9292}.rk-position-change.same{color:var(--rk-muted)}.rk-position-change.new{color:#7cc7ff}.rk-channel{display:flex;align-items:center;gap:7px;min-width:0;max-width:230px}

.rk-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#252d38;border:1px solid rgba(214,255,63,.35);flex-shrink:0}.rk-country-flag{width:34px;height:23px;object-fit:cover;border-radius:4px;border:1px solid rgba(255,255,255,.22);vertical-align:middle;box-shadow:0 2px 5px #0004}.rk-country-empty{color:var(--rk-muted)}

.rk-channel-name{font-weight:800;color:#f4f6fa;text-decoration:none;max-width:165px;min-width:0;overflow:hidden;text-overflow:ellipsis;display:block;white-space:nowrap}.rk-channel-name:hover{color:var(--rk-lime)}

.rk-sub{font-weight:850;color:#f4f6fa}.rk-positive{color:var(--rk-lime);font-weight:800}.rk-negative{color:#ff9292;font-weight:800}.rk-muted{color:var(--rk-muted)}

.rk-error{margin:16px 0;padding:14px;border:1px solid #7c3b3b;background:#351b1b;border-radius:12px;color:#ffc5c5;overflow-wrap:anywhere}

.rk-empty{padding:26px;text-align:center;color:var(--rk-muted)}

.rk-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-top:1px solid var(--rk-line);background:#10151d}

.rk-pagination-info{font-size:12px;color:var(--rk-muted)}

.rk-pagination-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}

.rk-page-btn{border:1px solid var(--rk-line);background:#171e29;color:var(--rk-text);border-radius:8px;padding:8px 11px;cursor:pointer;font-weight:750}

.rk-page-btn:hover:not(:disabled),.rk-page-btn.active{background:var(--rk-lime);color:#14190b;border-color:var(--rk-lime)}

.rk-page-btn:disabled{opacity:.35;cursor:not-allowed}

@media(max-width:700px){.rk-hero{padding:20px}.rk-stats{grid-template-columns:1fr}.rk-table-head{align-items:flex-start}.rk-table{font-size:10px}.rk-table th{font-size:9px;padding:8px 4px}.rk-table td{padding:8px 4px}.rk-avatar{width:28px;height:28px}.rk-channel{gap:4px}.rk-channel-name{white-space:normal;overflow-wrap:anywhere}}

/* ===== Awards público: bloco inline 1 ===== */
:root {
    --awards-bg: #0b0e13;
    --awards-panel: #121720;
    --awards-panel-soft: #171e29;
    --awards-border: rgba(255,255,255,.085);
    --awards-text: #f4f6fa;
    --awards-muted: #929cab;
    --awards-accent: #d6ff3f;
    --awards-accent-soft: rgba(214,255,63,.12);
    --awards-blue: #7cb8ff;
    --awards-radius: 18px;
}
.awards-page {
    color: var(--awards-text);
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 clamp(14px, 2vw, 30px) 44px;
}
.awards-page * { box-sizing:border-box; }
.awards-hero { position:relative; overflow:hidden; padding:clamp(24px,4vw,42px); border:1px solid var(--awards-border); border-radius:24px; background:radial-gradient(ellipse at 85% 0%,rgba(214,255,63,.13),transparent 42%),linear-gradient(135deg,#171e29 0%,#10151d 58%,#0c1016 100%); }
.awards-hero:after { content:""; position:absolute; width:260px;height:260px;right:-70px;bottom:-150px;border:1px solid rgba(214,255,63,.18);border-radius:50%;box-shadow:0 0 0 28px rgba(214,255,63,.025),0 0 0 58px rgba(214,255,63,.02);pointer-events:none; }
.awards-kicker { display:flex; align-items:center; gap:9px; color:var(--awards-accent); text-transform:uppercase; letter-spacing:.16em; font-size:11px; font-weight:800; }
.awards-kicker-dot { width:7px;height:7px;border-radius:50%;background:var(--awards-accent);box-shadow:0 0 15px rgba(214,255,63,.7); }
.awards-hero h1 { margin:14px 0 8px; font-size:clamp(30px,4vw,48px); letter-spacing:-.045em; line-height:1.02; font-weight:850; color:#fff; }
.awards-hero p { margin:0; max-width:660px; color:#aab4c2; line-height:1.6; font-size:14px; }
.awards-hero-bottom { display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:28px;position:relative;z-index:1; }
.awards-period { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.awards-period-label { color:var(--awards-muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800; }
.awards-period-value { font-size:18px;font-weight:800;color:#fff; }
.awards-period-nav { display:flex;gap:6px; }
.awards-nav-btn { display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;border:1px solid var(--awards-border);border-radius:10px;background:rgba(255,255,255,.04);color:#e9edf4;text-decoration:none;font-size:18px; }
.awards-nav-btn:hover { border-color:rgba(214,255,63,.45);color:var(--awards-accent); }
.awards-period-form { display:flex;gap:8px;align-items:center; }
.awards-period-form input { background:#0d1219;color:#fff;border:1px solid var(--awards-border);border-radius:10px;padding:9px 10px;font:inherit;color-scheme:dark; }
.awards-period-form button { border:0;border-radius:10px;background:var(--awards-accent);color:#11160a;padding:10px 14px;font-weight:850;cursor:pointer; }
.awards-instagram-btn { display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:10px 14px;border:1px solid rgba(214,255,63,.42);border-radius:10px;background:rgba(214,255,63,.09);color:var(--awards-accent);font-size:12px;font-weight:850;text-decoration:none;white-space:nowrap;transition:background .18s ease,border-color .18s ease,transform .18s ease; }
.awards-instagram-btn:hover { background:rgba(214,255,63,.16);border-color:var(--awards-accent);transform:translateY(-1px); }
.awards-instagram-btn .instagram-btn-icon { display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--awards-accent);color:#11160a;font-size:13px;line-height:1; }
@media (max-width:760px) { .awards-instagram-btn { width:100%; } }
.awards-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 26px; }
.awards-stat { border:1px solid var(--awards-border);background:var(--awards-panel);border-radius:16px;padding:19px;min-width:0; }
.awards-stat-top { display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--awards-muted);font-size:12px;font-weight:650; }
.awards-stat-icon { width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--awards-accent-soft);color:var(--awards-accent);font-size:16px; }
.awards-stat-number { margin-top:13px;font-size:clamp(25px,2.5vw,34px);font-weight:850;letter-spacing:-.04em;color:#fff; }
.awards-stat-note { margin-top:5px;font-size:11px;color:var(--awards-muted);line-height:1.45; }
.awards-section-head { display:flex;justify-content:space-between;align-items:end;gap:16px;margin:30px 0 14px; }
.awards-section-head h2 { margin:0;font-size:21px;letter-spacing:-.025em;color:#fff; }
.awards-section-head p { margin:5px 0 0;color:var(--awards-muted);font-size:12px; }
.awards-section-tag { border:1px solid var(--awards-border);border-radius:999px;padding:6px 10px;color:#aab4c2;font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;white-space:nowrap; }
.awards-cards { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.award-card { min-width:0;border:1px solid var(--awards-border);border-radius:var(--awards-radius);background:linear-gradient(145deg,#151c26,#10151d);overflow:hidden; }
.award-card-head { display:flex;align-items:start;gap:13px;padding:19px 20px 15px;border-bottom:1px solid var(--awards-border); }
.award-card-icon { flex:0 0 42px;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--awards-accent-soft);font-size:20px; }
.award-card-head h3 { margin:0;color:#fff;font-size:15px;font-weight:800; }
.award-card-head p { margin:5px 0 0;color:var(--awards-muted);font-size:11px;line-height:1.45; }
.award-card-body { padding:7px 20px 14px; }
.award-winner { display:flex;align-items:center;gap:12px;padding:13px 0; }
.award-avatar { flex:0 0 56px;width:56px;height:56px;border-radius:50%;object-fit:cover;background:#222a35;border:1px solid var(--awards-border); }
.award-avatar-fallback { display:grid;place-items:center;font-size:12px;font-weight:900;color:var(--awards-accent); }
.award-winner-copy { min-width:0;flex:1; }
.award-winner-name { font-size:13px;font-weight:800;color:#f4f6fa;overflow-wrap:anywhere; }
.award-winner-meta { margin-top:4px;font-size:11px;color:var(--awards-muted); }
.award-rank-badge { display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:34px;padding:4px 8px;border-radius:7px;font-size:11px;font-weight:900;line-height:1;border:1px solid transparent;white-space:nowrap; }
.award-rank-badge.award-positive { color:#39e58c!important;background:rgba(28,190,104,.14);border-color:rgba(57,229,140,.34); }
.award-rank-badge.award-negative { color:#ff626d!important;background:rgba(255,64,80,.14);border-color:rgba(255,98,109,.36); }
.award-rank-badge.award-neutral { color:#aab4c2!important;background:rgba(170,180,194,.10);border-color:rgba(170,180,194,.22); }
.award-winner-value { font-size:15px;font-weight:900;white-space:nowrap; }
.award-positive { color:var(--awards-accent)!important; }
.award-negative { color:#ff8585!important; }
.award-neutral { color:#aab4c2!important; }
.award-video-winner { display:flex;align-items:center;gap:12px;padding:13px 0;color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.055);min-width:0;width:100%; }
.award-video-winner:last-child { border-bottom:0; }
.award-video-thumb { flex:0 0 88px;width:88px;height:50px;object-fit:cover;border-radius:8px;background:#252d38; }
.award-video-thumb-fallback { display:grid;place-items:center;font-size:10px;color:#aab4c2; }
.award-video-copy { min-width:0;flex:1 1 0%;width:0;overflow:hidden; }
.award-video-title { min-width:0;max-width:100%;font-size:12px;font-weight:750;line-height:1.4;color:#eef1f6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;word-break:normal; }
.award-video-channel { margin-top:5px;color:var(--awards-muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.award-video-metric { display:flex;flex:0 0 auto;flex-direction:column;align-items:end;gap:5px;white-space:nowrap;max-width:36%; }
.award-video-metric span { font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--awards-muted); }
.award-video-metric strong { font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis; }
.award-empty { padding:19px 0;color:var(--awards-muted);font-size:12px;line-height:1.6; }

.award-top20-toggle { display:block;width:max-content;max-width:100%;margin:8px auto 2px;padding:3px 0;border:0;background:transparent;color:var(--awards-muted);font-size:10px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:center; }
.award-top20-toggle:hover { color:var(--awards-accent); }
.award-top20-panel { display:none;margin-top:7px;border-top:1px solid var(--awards-border); }
.award-top20-panel.is-open { display:block; }
.award-top20-row { display:grid;grid-template-columns:20px 28px minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.045);min-width:0; }
.award-top20-position { color:var(--awards-muted);font-size:10px;font-weight:800;text-align:center; }
.award-top20-avatar { display:block;width:28px;height:28px;border-radius:50%;object-fit:cover;background:#222a35; }
.award-top20-avatar-fallback { display:grid;place-items:center;color:var(--awards-accent);font-size:8px;font-weight:900; }
.award-top20-name { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700; }
.award-top20-name-wrap { display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden; }
.award-top20-name-wrap .award-top20-name { flex:0 1 auto; }
.award-top20-name-wrap .award-rank-badge { flex:0 0 auto;min-width:26px;padding:3px 5px;font-size:9px; }
.award-top20-value { white-space:nowrap;font-size:10px;font-weight:850;color:var(--awards-accent); }


.award-channel-link { color:inherit;text-decoration:none;transition:color .15s ease; }
.award-channel-link:hover { color:var(--awards-accent); }
.category-awards-card { margin-bottom:0; }
.category-awards-content { padding:16px 18px 18px; min-width:0; }
.category-awards-tabs { display:flex;align-items:stretch;align-content:flex-start;gap:8px;flex-wrap:wrap;margin-bottom:16px; }
.category-awards-tab { display:inline-flex;align-items:center;justify-content:center;max-width:100%;white-space:normal;text-align:center;line-height:1.25;overflow-wrap:anywhere;border:1px solid var(--awards-border);border-radius:11px;padding:9px 12px;background:rgba(255,255,255,.035);color:#c4ccd7;font-size:11px;font-weight:750;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease; }
.category-awards-tab span { display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:rgba(255,255,255,.08);font-size:10px; }
.category-awards-tab:hover,.category-awards-tab.is-active { border-color:rgba(214,255,63,.48);background:var(--awards-accent-soft);color:var(--awards-accent); }
.category-awards-panel { display:none; }
.category-awards-panel.is-active { display:block; }
.category-awards-panel-title { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0 8px;color:#fff;font-size:14px;font-weight:850; }
.category-awards-panel-title small { color:var(--awards-muted);font-size:9px;letter-spacing:.12em; }
.category-award-winner { border-bottom:1px solid var(--awards-border); }
.category-award-winner:last-child { border-bottom:0; }
.category-award-rank { flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--awards-border);border-radius:10px;color:#d0d7e1;font-size:12px;font-weight:900; }
.category-award-rank.rank-1 { color:#171b0a;background:var(--awards-accent);border-color:var(--awards-accent); }
.category-award-rank.rank-2 { color:#e9edf4;background:#596575;border-color:#596575; }
.category-award-rank.rank-3 { color:#f1c18c;background:rgba(179,111,53,.15);border-color:rgba(179,111,53,.35); }
.country-awards-tabs { display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 12px; }
.country-awards-tab { border:1px solid var(--awards-border);border-radius:10px;padding:7px 10px;background:rgba(255,255,255,.035);color:#c4ccd7;font-size:11px;font-weight:750;cursor:pointer; }
.country-awards-tab.is-active,.country-awards-tab:hover { border-color:rgba(214,255,63,.48);background:var(--awards-accent-soft);color:var(--awards-accent); }
.country-awards-panel { display:none; }
.country-awards-panel.is-active { display:block; }
.country-code-badge { display:inline-grid;place-items:center;min-width:34px;height:30px;padding:0 7px;border:1px solid var(--awards-border);border-radius:9px;background:rgba(255,255,255,.045);font-size:10px;font-weight:900;color:#dbe3ee; }
.awards-note { margin-top:20px;padding:14px 16px;border:1px solid rgba(124,184,255,.17);background:rgba(124,184,255,.055);border-radius:13px;color:#aab7c9;font-size:11px;line-height:1.6; }
.awards-note strong { color:#dbe8fa; }
.awards-error { padding:16px 18px;margin:16px 0;border:1px solid rgba(255,100,100,.3);background:rgba(255,80,80,.08);border-radius:12px;color:#ffb1b1;font-size:13px;overflow-wrap:anywhere; }
@media (max-width:1100px) { .awards-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:760px) { .awards-page{padding:16px 12px 30px}.awards-grid,.awards-cards{grid-template-columns:1fr}.awards-hero{border-radius:18px}.awards-section-head{align-items:start;flex-direction:column}.awards-page .award-video-winner{grid-template-columns:76px minmax(0,1fr);gap:10px}.awards-page .award-video-thumb{width:76px;height:44px}.awards-page .award-video-metric{grid-column:2;align-items:start;max-width:100%;white-space:normal;flex-direction:row;align-items:center;gap:7px}.awards-page .award-video-metric strong{font-size:12px} }

/* Layout guard: prevents global theme styles from stretching video rows. */
.awards-page .awards-cards { align-items:start; }
.awards-page .award-card { min-width:0; min-height:0; align-self:start; }
.awards-page .award-card-body { min-width:0; }
.awards-page .award-video-winner {
    display:grid !important;
    grid-template-columns:88px minmax(0,1fr) max-content;
    align-items:center;
    gap:12px;
    width:100%;
    min-width:0;
    min-height:76px;
    padding:12px 0;
    margin:0;
    flex-wrap:nowrap;
    position:relative;
}
.awards-page .award-video-thumb { display:block; width:88px; height:50px; min-width:0; flex:none; object-fit:cover; }
.awards-page .award-video-copy { display:block; width:auto; min-width:0; max-width:100%; overflow:hidden; }
.awards-page .award-video-title {
    display:-webkit-box !important;
    width:100%; max-width:100%; min-width:0;
    overflow:hidden; text-overflow:ellipsis;
    -webkit-line-clamp:2; -webkit-box-orient:vertical;
    overflow-wrap:anywhere; word-break:break-word;
    white-space:normal; line-height:1.4; max-height:2.8em;
}
.awards-page .award-video-channel { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.awards-page .award-video-metric { display:flex; flex-direction:column; align-items:flex-end; justify-content:center; gap:5px; min-width:74px; max-width:140px; white-space:nowrap; }
.awards-page .award-video-metric span,.awards-page .award-video-metric strong { max-width:100%; overflow:hidden; text-overflow:ellipsis; }
.awards-page .award-video-winner:hover .award-video-thumb { transform:scale(1.035); }
.awards-page .award-video-thumb { transition:transform .2s ease; }

/* Premium motion, kept subtle so the page stays readable. */
.awards-page .awards-hero { isolation:isolate; }
.awards-page .awards-hero:before {
    content:""; position:absolute; z-index:-1; top:-35%; bottom:-35%; left:-55%; width:34%;
    background:linear-gradient(100deg,transparent,rgba(214,255,63,.10),transparent);
    transform:skewX(-18deg); pointer-events:none;
    animation:awardsHeroSweep 9s ease-in-out infinite;
}
.awards-page .awards-kicker-dot { animation:awardsPulse 2.2s ease-in-out infinite; }
.awards-page .awards-stat,.awards-page .award-card,.awards-page .category-awards-card { animation:awardsFadeUp .55s ease both; }
.awards-page .awards-stat:nth-child(2) { animation-delay:.06s; }
.awards-page .awards-stat:nth-child(3) { animation-delay:.12s; }
.awards-page .awards-stat:nth-child(4) { animation-delay:.18s; }
.awards-page .award-card:hover { border-color:rgba(214,255,63,.24); box-shadow:0 12px 34px rgba(0,0,0,.16); transition:border-color .2s ease,box-shadow .2s ease; }
@keyframes awardsHeroSweep { 0%,35% { left:-55%; opacity:0; } 45% { opacity:1; } 70%,100% { left:125%; opacity:0; } }
@keyframes awardsPulse { 0%,100% { box-shadow:0 0 0 0 rgba(214,255,63,.0),0 0 10px rgba(214,255,63,.45); } 50% { box-shadow:0 0 0 7px rgba(214,255,63,.08),0 0 18px rgba(214,255,63,.75); } }
@keyframes awardsFadeUp { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .awards-page *, .awards-page *:before, .awards-page *:after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
/* Final video-card layout fix: avoid nested anchors and prevent global CSS stretching rows. */
.awards-page .awards-cards { align-items: start !important; }
.awards-page .award-card { align-self: start !important; min-width: 0 !important; }
.awards-page .award-card-body { display: block !important; height: auto !important; min-height: 0 !important; flex: 0 0 auto !important; justify-content: initial !important; align-content: initial !important; }
.awards-page .award-video-winner {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) minmax(74px, max-content) !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 12px 0 !important;
    margin: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
.awards-page .award-video-thumb { grid-column: 1 !important; grid-row: 1 / span 2 !important; width: 88px !important; height: 50px !important; max-width: 100% !important; object-fit: cover !important; }
.awards-page .award-video-copy { grid-column: 2 !important; grid-row: 1 !important; width: auto !important; min-width: 0 !important; max-width: 100% !important; overflow: hidden !important; }
.awards-page .award-video-title { display: -webkit-box !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; max-height: 2.8em !important; overflow: hidden !important; white-space: normal !important; overflow-wrap: anywhere !important; word-break: break-word !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; line-height: 1.4 !important; }
.awards-page .award-video-channel { grid-column: 2 !important; grid-row: 2 !important; min-width: 0 !important; max-width: 100% !important; overflow: hidden !important; white-space: nowrap !important; text-overflow: ellipsis !important; }
.awards-page .award-video-metric { grid-column: 3 !important; grid-row: 1 / span 2 !important; display: flex !important; flex-direction: column !important; align-items: flex-end !important; justify-content: center !important; min-width: 74px !important; max-width: 140px !important; white-space: nowrap !important; }
@media (max-width: 760px) {
  .awards-page .award-video-winner { grid-template-columns: 76px minmax(0, 1fr) !important; column-gap: 10px !important; }
  .awards-page .award-video-thumb { grid-column: 1 !important; grid-row: 1 / span 2 !important; width: 76px !important; height: 44px !important; }
  .awards-page .award-video-copy { grid-column: 2 !important; grid-row: 1 !important; }
  .awards-page .award-video-channel { grid-column: 2 !important; grid-row: 2 !important; }
  .awards-page .award-video-metric { grid-column: 2 !important; grid-row: 3 !important; flex-direction: row !important; justify-content: flex-start !important; align-items: center !important; gap: 7px !important; max-width: 100% !important; min-width: 0 !important; margin-top: 5px !important; }
}

/* Final alignment fix: cards in each awards row share the same height. */
.awards-page .awards-cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 14px !important;
}
.awards-page .awards-cards > .award-card {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
}
.awards-page .awards-cards > .award-card > .award-card-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
@media (max-width: 760px) {
    .awards-page .awards-cards {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* ==========================================================
   NORMALIZAÇÃO DOS CARTÕES PÚBLICOS
   Dashboard, Rankings e Awards partilham a mesma base visual.
   ========================================================== */
.dashboard .kpi,
.dashboard .panel,
.rk-page .rk-stat,
.rk-page .rk-table-wrap,
.awards-page .awards-stat,
.awards-page .award-card {
    border-color: var(--bb-card-border);
    border-radius: var(--bb-card-radius);
    box-shadow: var(--bb-card-shadow);
}
.dashboard .kpi,
.rk-page .rk-stat,
.awards-page .awards-stat {
    background: var(--bb-card-bg);
}
.dashboard .kpi { padding: var(--bb-card-padding); }
.dashboard .kpi::after { display: none; }
.dashboard .panel,
.awards-page .award-card {
    background: var(--bb-card-bg);
}
.dashboard .panel-head,
.awards-page .award-card-head,
.rk-page .rk-table-head {
    border-bottom-color: var(--bb-card-divider);
}
.dashboard .panel-icon,
.awards-page .awards-stat-icon,
.awards-page .award-card-icon {
    border-color: var(--bb-card-border);
}
.rk-page .rk-stat { padding: var(--bb-card-padding); }
.rk-page .rk-stat strong { color: var(--bb-accent); }
.awards-page .awards-stat { padding: var(--bb-card-padding); }
.awards-page .awards-stat-number { color: #f5f7fa; }
.awards-page .award-card { border-radius: var(--bb-card-radius); }

/* ==========================================================
   ANÁLISE DE CANAL
   Estilos da página pública channel_analysis.php.
   Isolados em .channel-analysis-page para não afetar outras páginas.
   ========================================================== */
.channel-analysis-page {
    --ca-panel: rgba(16, 24, 39, .94);
    --ca-panel-soft: rgba(21, 31, 49, .88);
    --ca-border: rgba(148, 163, 184, .17);
    --ca-muted: #94a3b8;
    --ca-text: #f1f5f9;
    --ca-accent: #67e8f9;
    width: min(100% - 32px, 1440px);
    margin: 0 auto;
    padding: 24px 0 56px;
    color: var(--ca-text);
    min-width: 0;
}
.channel-analysis-page *,
.channel-analysis-page *::before,
.channel-analysis-page *::after { box-sizing: border-box; }
.channel-analysis-page img { max-width: 100%; }
.channel-analysis-page h1,
.channel-analysis-page h2,
.channel-analysis-page h3,
.channel-analysis-page h4 { color: #f8fafc; line-height: 1.2; }
.channel-analysis-page p { line-height: 1.65; }
.channel-analysis-page .channel-main,
.channel-analysis-page .historical-main { min-width: 0; }
.channel-analysis-page .hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 250px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 25px;
    padding: clamp(22px, 4vw, 38px);
    margin-bottom: 22px;
    border: 1px solid var(--ca-border);
    border-radius: 22px;
    background: radial-gradient(ellipse at 90% 0%, rgba(103,232,249,.12), transparent 42%), linear-gradient(145deg, #151f31, #0d1524 75%);
    box-shadow: 0 16px 40px rgba(0,0,0,.14);
}
.channel-analysis-page .hero-banner {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: inherit;
    background: #15151a;
    box-shadow: none;
}
.channel-analysis-page .hero-banner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: translateY(-4px);
}
.channel-analysis-page .hero-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(to bottom, rgba(17,17,22,.10) 0%, rgba(17,17,22,.55) 48%, rgba(17,17,22,.98) 100%);
}
.channel-analysis-page .hero h1,
.channel-analysis-page .hero-banner h1 { margin: 0 0 12px; font-size: clamp(26px, 4vw, 42px); letter-spacing: -.04em; }
.channel-analysis-page .hero p,
.channel-analysis-page .hero-banner p { color: #b6c2d2; margin: 7px 0 0; }
.channel-analysis-page .hero-content { min-width: 0; }
.channel-analysis-page .hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; }
.channel-analysis-page .hero-btn,
.channel-analysis-page .analyze-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 40px; padding: 10px 15px; border: 1px solid rgba(103,232,249,.35);
    border-radius: 11px; background: rgba(103,232,249,.1); color: #a5f3fc;
    font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; text-decoration: none;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.channel-analysis-page .hero-btn:hover,
.channel-analysis-page .analyze-btn:hover { background: rgba(103,232,249,.18); border-color: var(--ca-accent); transform: translateY(-1px); }
.channel-analysis-page .back { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 16px; color: #a5f3fc; font-size: 13px; font-weight: 750; }
.channel-analysis-page .back:hover { color: #fff; }
.channel-analysis-page .handle,
.channel-analysis-page .meta,
.channel-analysis-page .small-note,
.channel-analysis-page .historical-description,
.channel-analysis-page .trajectory-note { color: var(--ca-muted); }
.channel-analysis-page .handle { overflow-wrap: anywhere; }
.channel-analysis-page .section { margin: 30px 0; min-width: 0; }
.channel-analysis-page .section-header { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.channel-analysis-page .section-header h2 { margin: 0; font-size: clamp(18px, 2vw, 24px); letter-spacing: -.025em; }
.channel-analysis-page .section-subtitle { color: var(--ca-muted); margin: 6px 0 0; font-size: 12px; }
.channel-analysis-page .card,
.channel-analysis-page .chart-card,
.channel-analysis-page .insight-card,
.channel-analysis-page .channel-rank-card,
.channel-analysis-page .calendar-metrics-card,
.channel-analysis-page .content-calendar-card {
    min-width: 0; border: 1px solid var(--ca-border); border-radius: 17px;
    background: linear-gradient(155deg, var(--ca-panel-soft), var(--ca-panel));
    box-shadow: 0 10px 28px rgba(0,0,0,.12);
}
.channel-analysis-page .card { padding: 18px; }
.channel-analysis-page .charts-grid,
.channel-analysis-page .medium-term-charts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.channel-analysis-page .chart-card { padding: 18px; }
.channel-analysis-page .chart-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 14px; color: #e2e8f0; font-size: 14px; font-weight: 800; }
.channel-analysis-page .chart-wrap { position: relative; width: 100%; min-width: 0; height: 280px; }
.channel-analysis-page .chart-wrap canvas { display: block; width: 100% !important; max-width: 100%; }
.channel-analysis-page .channel-rankings-section { margin: 26px 0; }
.channel-analysis-page .channel-rankings-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }
.channel-analysis-page .channel-rank-card {
    min-width: 0;
    overflow: hidden;
    padding: 18px;
    border: 1px solid var(--ca-border);
    border-radius: 16px;
    background: var(--ca-panel);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .16);
}
.channel-analysis-page .channel-rank-card-top { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; }
.channel-analysis-page .channel-rank-icon { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 13px; background: rgba(103,232,249,.1); color: var(--ca-accent); font-size: 19px; }
.channel-analysis-page .channel-rank-label { color: var(--ca-muted); font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; }
.channel-analysis-page .channel-rank-position { margin-top: 4px; color: #f8fafc; font-size: clamp(23px, 3vw, 32px); font-weight: 900; letter-spacing: -.04em; }
.channel-analysis-page .channel-rank-caption { margin-top: 5px; color: var(--ca-muted); font-size: 11px; line-height: 1.5; }
.channel-analysis-page .channel-rank-history { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(148,163,184,.12); }
.channel-analysis-page .channel-rank-history-empty { color: var(--ca-muted); font-size: 12px; padding: 10px 0; }
.channel-analysis-page .channel-rank-progress-title { display: flex; justify-content: space-between; gap: 10px; margin: 12px 0 7px; color: #cbd5e1; font-size: 12px; }
.channel-analysis-page .channel-rank-progress { height: auto; margin-top: 10px; overflow: visible; border-radius: 0; background: transparent; }
.channel-analysis-page .channel-rank-progress > * { height: auto; border-radius: 0; }
.channel-analysis-page .channel-rank-position-row,
.channel-analysis-page .channel-rank-progress-row,
.channel-analysis-page .channel-rank-less-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 9px 0; border-bottom: 1px solid rgba(148,163,184,.09); font-size: 12px; }
.channel-analysis-page .channel-rank-position-row:last-child,
.channel-analysis-page .channel-rank-progress-row:last-child,
.channel-analysis-page .channel-rank-less-row:last-child { border-bottom: 0; }
.channel-analysis-page .channel-rank-more { color: var(--ca-accent); font-size: 12px; font-weight: 800; cursor: pointer; }
.channel-analysis-page .history-stats,
.channel-analysis-page .signal-grid,
.channel-analysis-page .insight-grid,
.channel-analysis-page .period-grid,
.channel-analysis-page .calendar-stats,
.channel-analysis-page .calendar-metrics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.channel-analysis-page .history-stat,
.channel-analysis-page .signal,
.channel-analysis-page .compact-metric,
.channel-analysis-page .period-row,
.channel-analysis-page .calendar-stat { min-width: 0; padding: 14px; border: 1px solid var(--ca-border); border-radius: 13px; background: rgba(255,255,255,.025); }
.channel-analysis-page .signal-label,
.channel-analysis-page .compact-metric-label { display: block; color: var(--ca-muted); font-size: 11px; font-weight: 700; }
.channel-analysis-page .signal-value,
.channel-analysis-page .trend-value,
.channel-analysis-page .period-value { display: block; margin-top: 7px; color: #f8fafc; font-size: clamp(18px, 2.4vw, 27px); font-weight: 850; overflow-wrap: anywhere; }
.channel-analysis-page .trend-metric { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.channel-analysis-page .period-title { color: #cbd5e1; font-size: 12px; font-weight: 750; }
.channel-analysis-page .period-percent { margin-top: 5px; color: var(--ca-accent); font-size: 12px; font-weight: 800; }
.channel-analysis-page .phase-row { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(148,163,184,.1); }
.channel-analysis-page .phase-row:last-child { border-bottom: 0; }
.channel-analysis-page .phase-name { color: #e2e8f0; font-weight: 800; }
.channel-analysis-page .phase-description { color: var(--ca-muted); font-size: 12px; line-height: 1.55; }
.channel-analysis-page .momentum-score { color: var(--ca-accent); font-size: 28px; font-weight: 900; }
.channel-analysis-page .producer-insights { display: block; margin-bottom: 30px; }
.channel-analysis-page .insight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.channel-analysis-page .insight-grid > .insight-card:only-child { grid-column: 1 / -1; }
.channel-analysis-page .insight-card { padding: 17px; }
.channel-analysis-page .insight-kicker { color: var(--ca-accent); text-transform: uppercase; letter-spacing: .1em; font-size: 10px; font-weight: 850; }
.channel-analysis-page .insight-card h3 { margin: 8px 0; font-size: 15px; }
.channel-analysis-page .insight-card p { margin: 0; color: #b6c2d2; font-size: 12px; }
.channel-analysis-page .calendar-dashboard { min-width: 0; margin-top: 18px; padding: 18px; border: 1px solid var(--ca-border); border-radius: 18px; background: var(--ca-panel); }
.channel-analysis-page .calendar-topbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-bottom: 16px; }
.channel-analysis-page .calendar-title-wrap { min-width: 0; }
.channel-analysis-page .calendar-month { color: #f8fafc; font-size: 20px; font-weight: 850; }
.channel-analysis-page .calendar-total { color: var(--ca-muted); font-size: 12px; }
.channel-analysis-page .calendar-controls,
.channel-analysis-page .calendar-filters,
.channel-analysis-page .calendar-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.channel-analysis-page .calendar-controls button,
.channel-analysis-page .calendar-nav button,
.channel-analysis-page .calendar-filter,
.channel-analysis-page .sort-select,
.channel-analysis-page .medium-term-switch { max-width: 100%; padding: 9px 11px; border: 1px solid var(--ca-border); border-radius: 9px; background: #111c2d; color: #e2e8f0; font: inherit; font-size: 12px; }
.channel-analysis-page .calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.channel-analysis-page .calendar-date { position: relative; min-height: 78px; padding: 8px; border: 1px solid rgba(148,163,184,.13); border-radius: 10px; background: rgba(255,255,255,.025); color: #e2e8f0; font-size: 12px; }
.channel-analysis-page .calendar-date:empty { background: transparent; border-color: transparent; }
.channel-analysis-page .calendar-dot { display: inline-block; width: 6px; height: 6px; margin: 4px 4px 0 0; border-radius: 50%; background: var(--ca-accent); }
.channel-analysis-page .calendar-events { margin-top: 5px; color: var(--ca-muted); font-size: 10px; line-height: 1.45; overflow-wrap: anywhere; }
.channel-analysis-page .calendar-legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 13px; color: var(--ca-muted); font-size: 11px; }
.channel-analysis-page .calendar-empty,
.channel-analysis-page .empty { padding: 22px 12px; color: var(--ca-muted); text-align: center; font-size: 12px; }
.channel-analysis-page .video-cell { display: flex; align-items: center; gap: 10px; min-width: 0; }
.channel-analysis-page .video-thumb-wrap { flex: 0 0 100px; overflow: hidden; border-radius: 8px; background: #1e293b; }
.channel-analysis-page .video-thumb { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.channel-analysis-page .video-title { min-width: 0; color: #e2e8f0; font-size: 12px; font-weight: 750; line-height: 1.45; overflow-wrap: anywhere; }
.channel-analysis-page .video-duration { color: var(--ca-muted); font-size: 10px; }
.channel-analysis-page table { width: 100%; border-collapse: collapse; }
.channel-analysis-page th,
.channel-analysis-page td { padding: 10px 12px; border-bottom: 1px solid rgba(148,163,184,.1); text-align: left; font-size: 12px; }
.channel-analysis-page th { color: var(--ca-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
.channel-analysis-page .avatar { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }
.channel-analysis-page .avatar-placeholder { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #263247; color: var(--ca-accent); font-weight: 850; }
.channel-analysis-page .rank-up { color: #34d399; }
.channel-analysis-page .rank-down { color: #fca5a5; }
.channel-analysis-page .rank-neutral { color: var(--ca-muted); }
.channel-analysis-page .live,
.channel-analysis-page .metrics-live-dot { color: #34d399; }
.channel-analysis-page .metrics-live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: currentColor; }
.channel-analysis-page .sort-select { cursor: pointer; color-scheme: dark; }
.channel-analysis-page .small-note { margin-top: 12px; font-size: 11px; line-height: 1.6; }

@media (max-width: 1000px) {
    .channel-analysis-page .history-stats,
    .channel-analysis-page .signal-grid,
    .channel-analysis-page .calendar-stats,
    .channel-analysis-page .calendar-metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .channel-analysis-page .channel-rankings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .channel-analysis-page .charts-grid,
    .channel-analysis-page .medium-term-charts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .channel-analysis-page { width: calc(100% - 24px); padding-top: 16px; }
    .channel-analysis-page .hero { padding: 21px 17px; border-radius: 17px; }
    .channel-analysis-page .hero-banner { padding: 0; border-radius: inherit; }
    .channel-analysis-page .section-header { align-items: flex-start; flex-direction: column; }
    .channel-analysis-page .channel-rankings-grid,
    .channel-analysis-page .charts-grid,
    .channel-analysis-page .medium-term-charts,
    .channel-analysis-page .insight-grid { grid-template-columns: minmax(0, 1fr); }
    .channel-analysis-page .history-stats,
    .channel-analysis-page .signal-grid,
    .channel-analysis-page .insight-grid,
    .channel-analysis-page .period-grid,
    .channel-analysis-page .calendar-stats,
    .channel-analysis-page .calendar-metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .channel-analysis-page .card,
    .channel-analysis-page .chart-card,
    .channel-analysis-page .channel-rank-card,
    .channel-analysis-page .calendar-dashboard { padding: 14px; }
    .channel-analysis-page .chart-wrap { height: 240px; }
    .channel-analysis-page .calendar-grid { gap: 3px; }
    .channel-analysis-page .calendar-date { min-height: 54px; padding: 5px 3px; border-radius: 7px; font-size: 10px; }
    .channel-analysis-page .calendar-events { font-size: 9px; }
    .channel-analysis-page .calendar-topbar { align-items: flex-start; }
    .channel-analysis-page .video-thumb-wrap { flex-basis: 82px; }
    .channel-analysis-page table { min-width: 560px; }
    .channel-analysis-page .table-responsive,
    .channel-analysis-page .table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media (max-width: 420px) {
    .channel-analysis-page .history-stats,
    .channel-analysis-page .signal-grid,
    .channel-analysis-page .insight-grid,
    .channel-analysis-page .period-grid,
    .channel-analysis-page .calendar-stats,
    .channel-analysis-page .calendar-metrics-grid { grid-template-columns: minmax(0, 1fr); }
    .channel-analysis-page .calendar-controls,
    .channel-analysis-page .calendar-filters { width: 100%; }
    .channel-analysis-page .calendar-controls > *,
    .channel-analysis-page .calendar-filters > * { max-width: 100%; }
}


/* ==========================================================
   PUBLIC NAVIGATION - expandable multi-level sidebar
   ========================================================== */
.bb-public-shell { --bb-nav-bg:#0b111b; --bb-nav-panel:#111a28; --bb-nav-border:rgba(148,163,184,.15); --bb-nav-text:#e6edf7; --bb-nav-muted:#8d9bb0; --bb-nav-accent:#d6ff3f; }
.bb-sidebar { position:fixed; z-index:1200; inset:0 auto 0 0; width:264px; display:flex; flex-direction:column; background:linear-gradient(180deg,#101827 0%,#0a1019 100%); border-right:1px solid var(--bb-nav-border); color:var(--bb-nav-text); transition:width .22s ease,transform .22s ease; overflow:visible; }
.bb-sidebar-brand { display:flex; align-items:center; gap:10px; min-height:78px; padding:16px 13px; border-bottom:1px solid var(--bb-nav-border); }
.bb-brand-link { display:flex; align-items:center; gap:10px; min-width:0; flex:1; }
.bb-brand-mark { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:12px; background:linear-gradient(135deg,#d6ff3f,#8ab51e); color:#151b08; font-size:13px; font-weight:950; letter-spacing:-.05em; }
.bb-brand-copy { display:flex; flex-direction:column; min-width:0; gap:4px; }
.bb-brand-copy strong { color:#f7f9fc; font-size:12px; white-space:nowrap; }
.bb-brand-copy small { color:var(--bb-nav-muted); font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.bb-sidebar-collapse { display:grid; place-items:center; flex:0 0 27px; width:27px; height:30px; border:1px solid var(--bb-nav-border); border-radius:8px; background:#ffffff05; color:#d6ff3f; font-size:22px; cursor:pointer; }
.bb-side-nav { flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; padding:14px 10px; }
.bb-nav-link,.bb-sub-link { position:relative; display:flex; align-items:center; gap:12px; width:100%; min-height:43px; padding:10px 11px; border:1px solid transparent; border-radius:10px; background:transparent; color:#aeb9c9; text-decoration:none; text-align:left; font:inherit; font-size:12px; cursor:pointer; transition:background .15s ease,color .15s ease,border-color .15s ease; }
.bb-nav-link:hover,.bb-sub-link:hover { color:#fff; background:rgba(255,255,255,.045); }
.bb-nav-link.is-active,.bb-sub-link.is-active { color:var(--bb-nav-accent); background:rgba(214,255,63,.085); border-color:rgba(214,255,63,.17); }
.bb-nav-icon { display:grid; place-items:center; flex:0 0 24px; width:24px; font-size:20px; line-height:1; color:#9baac0; }
.bb-nav-link.is-active .bb-nav-icon { color:var(--bb-nav-accent); }
.bb-nav-label { min-width:0; flex:1; white-space:nowrap; }
.bb-nav-chevron { margin-left:auto; color:#74839a; font-size:13px; transition:transform .18s ease; }
.bb-nav-group.is-open > .bb-nav-parent .bb-nav-chevron,.bb-subgroup.is-open > .bb-sub-parent .bb-nav-chevron { transform:rotate(180deg); }
.bb-submenu { display:none; padding:4px 0 5px 34px; }
.bb-nav-group.is-open > .bb-submenu { display:block; }
.bb-submenu .bb-sub-link { min-height:36px; padding:8px 10px; font-size:11px; }
.bb-subgroup { min-width:0; }
.bb-submenu-nested { padding:3px 0 5px 12px; }
.bb-submenu-nested.is-open { display:block; }
.bb-sub-empty { display:block; padding:8px 10px; color:#78869b; font-size:11px; }
.bb-sidebar-bottom { padding:10px; border-top:1px solid var(--bb-nav-border); }
.bb-mobile-menu-toggle { display:none; }
.bb-sidebar-backdrop { display:none; }
.bb-public-shell.is-collapsed .bb-sidebar { width:76px; }
.bb-public-shell.is-collapsed .bb-sidebar-brand { justify-content:center; padding:14px 8px; flex-wrap:wrap; }
.bb-public-shell.is-collapsed .bb-brand-link { flex:0 0 38px; }
.bb-public-shell.is-collapsed .bb-brand-copy,.bb-public-shell.is-collapsed .bb-nav-label,.bb-public-shell.is-collapsed .bb-nav-chevron { display:none; }
.bb-public-shell.is-collapsed .bb-sidebar-collapse { transform:rotate(180deg); }
.bb-public-shell.is-collapsed .bb-nav-link { justify-content:center; padding:10px 7px; }
.bb-public-shell.is-collapsed .bb-submenu { display:none !important; }
.bb-public-shell.is-collapsed .bb-nav-group { position:relative; }
.bb-public-shell.is-collapsed .bb-nav-group:focus-within > .bb-submenu,.bb-public-shell.is-collapsed .bb-nav-group:hover > .bb-submenu { display:block !important; position:absolute; z-index:1300; top:0; left:calc(100% + 5px); width:230px; max-height:70vh; overflow:auto; padding:8px; border:1px solid var(--bb-nav-border); border-radius:12px; background:#111a28; box-shadow:0 16px 40px #0008; }
.bb-public-shell.is-collapsed .bb-submenu .bb-submenu { position:static; width:auto; max-height:none; box-shadow:none; border:0; padding-left:10px; }
.bb-public-shell.is-collapsed .bb-nav-link[data-tooltip]:hover::after { content:attr(data-tooltip); position:absolute; z-index:1400; left:calc(100% + 10px); top:50%; transform:translateY(-50%); padding:7px 9px; border:1px solid var(--bb-nav-border); border-radius:7px; background:#111a28; color:#fff; font-size:11px; white-space:nowrap; pointer-events:none; }
body:has(.bb-public-shell) .admin-page { margin-left:264px; margin-right:0; width:auto; max-width:none; min-width:0; }
body:has(.bb-public-shell.is-collapsed) .admin-page { margin-left:76px; margin-right:0; }
body:has(.bb-public-shell) .admin-header { display:none; }
body:has(.bb-public-shell) { overflow-x:hidden; }
@media(max-width:900px) {
    .bb-sidebar { width:278px; transform:translateX(-102%); box-shadow:20px 0 60px #0007; }
    .bb-public-shell.mobile-open .bb-sidebar { transform:translateX(0); }
    .bb-public-shell.is-collapsed .bb-sidebar { width:278px; }
    .bb-sidebar-collapse { display:none; }
    .bb-mobile-menu-toggle { position:fixed; z-index:1500; top:13px; left:13px; display:flex; flex-direction:column; justify-content:center; gap:4px; width:42px; height:42px; padding:10px; border:1px solid rgba(214,255,63,.25); border-radius:11px; background:#111a28; box-shadow:0 6px 20px #0005; cursor:pointer; }
    .bb-mobile-menu-toggle span { display:block; width:100%; height:2px; border-radius:2px; background:#d6ff3f; }
    .bb-sidebar-backdrop { position:fixed; z-index:1100; inset:0; background:rgba(0,0,0,.58); }
    .bb-public-shell.mobile-open .bb-sidebar-backdrop { display:block; }
    body:has(.bb-public-shell) .admin-page,body:has(.bb-public-shell.is-collapsed) .admin-page { margin-left:0; margin-right:0; max-width:none; padding-top:58px; }
}
@media(prefers-reduced-motion:reduce) { .bb-sidebar,.bb-nav-link,.bb-sub-link,.bb-nav-chevron { transition:none !important; } }


/* Country flags in the public ranking sidebar */
.bb-country-sub-link { display:flex; align-items:center; gap:9px; min-width:0; }
.bb-country-sub-link > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bb-country-sub-flag { display:block; width:20px; height:14px; flex:0 0 20px; object-fit:cover; border-radius:3px; border:1px solid rgba(255,255,255,.2); box-shadow:0 1px 3px rgba(0,0,0,.25); }


/* ==========================================================
   CHANNEL ANALYSIS - progress comparison colors
   Scoped to this page so other public pages remain unchanged.
   ========================================================== */
.channel-analysis-page .positive {
    color: #34d399 !important;
}

.channel-analysis-page .negative {
    color: #f87171 !important;
}

.channel-analysis-page .neutral {
    color: var(--ca-muted, #94a3b8) !important;
}


/* ==========================================================
   CHANNEL ANALYSIS - period comparison values
   The growth class is applied to the parent <strong>, while
   these child elements define their own colors above.
   ========================================================== */
.channel-analysis-page .period-row strong.positive .period-value,
.channel-analysis-page .period-row strong.positive .period-percent {
    color: #34d399 !important;
}

.channel-analysis-page .period-row strong.negative .period-value,
.channel-analysis-page .period-row strong.negative .period-percent {
    color: #f87171 !important;
}

.channel-analysis-page .period-row strong.neutral .period-value,
.channel-analysis-page .period-row strong.neutral .period-percent {
    color: var(--ca-muted, #94a3b8) !important;
}


/* ==========================================================
   CHANNEL ANALYSIS - LAYOUT REFINEMENTS
   ========================================================== */
.channel-analysis-page .calendar-overview-section .calendar-dashboard {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
    padding: 0;
    border: 0;
    background: transparent;
}
.channel-analysis-page .calendar-overview-section .calendar-dashboard > .card {
    min-width: 0;
    height: 100%;
}
.channel-analysis-page .calendar-overview-section .content-calendar-card,
.channel-analysis-page .calendar-overview-section .calendar-metrics-card {
    padding: 18px;
}
.channel-analysis-page .channel-evolution-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}
.channel-analysis-page .medium-term-switch {
    display: inline-flex;
    width: auto;
    gap: 7px;
    padding: 5px;
    margin: 0 0 18px;
    border: 1px solid var(--ca-border);
    border-radius: 12px;
    background: rgba(8, 15, 27, .9);
}
.channel-analysis-page .medium-term-switch button {
    min-width: 112px;
    padding: 11px 20px;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    color: #9eacc0;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .04em;
    cursor: pointer;
    transition: background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.channel-analysis-page .medium-term-switch button:hover {
    color: #f8fafc;
    background: rgba(148, 163, 184, .1);
}
.channel-analysis-page .medium-term-switch button.active {
    color: #07111d;
    background: var(--ca-accent);
    border-color: var(--ca-accent);
    box-shadow: 0 4px 14px rgba(103, 232, 249, .18);
}
.channel-analysis-page .medium-term-charts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.channel-analysis-page .medium-term-charts > .chart-card {
    min-width: 0;
}
.channel-analysis-page .period-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}
.channel-analysis-page .period-grid > .card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 20px;
}
.channel-analysis-page .period-title {
    margin: -20px -20px 14px;
    padding: 15px 20px;
    border-bottom: 1px solid var(--ca-border);
    color: #f8fafc;
    font-size: 13px;
    font-weight: 850;
}
.channel-analysis-page .period-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex: 1;
    min-height: 76px;
    padding: 12px 14px;
    margin-top: 9px;
    border: 1px solid var(--ca-border);
    border-radius: 12px;
    background: rgba(255,255,255,.025);
}
.channel-analysis-page .period-row > span {
    color: #cbd5e1;
    font-size: 12px;
    font-weight: 700;
}
.channel-analysis-page .period-row strong {
    text-align: right;
}
.channel-analysis-page .period-row .period-value {
    margin: 0;
    font-size: clamp(19px, 2vw, 25px);
}
.channel-analysis-page .period-row .period-percent {
    display: block;
}
.channel-analysis-page .period-grid .small-note {
    margin-top: auto;
    padding-top: 15px;
}

@media (max-width: 1000px) {
    .channel-analysis-page .calendar-overview-section .calendar-dashboard {
        grid-template-columns: minmax(0, 1fr);
    }
    .channel-analysis-page .channel-evolution-grid,
    .channel-analysis-page .medium-term-charts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 700px) {
    .channel-analysis-page .channel-evolution-grid,
    .channel-analysis-page .medium-term-charts,
    .channel-analysis-page .period-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .channel-analysis-page .medium-term-switch {
        display: flex;
        width: 100%;
    }
    .channel-analysis-page .medium-term-switch button {
        flex: 1;
        min-width: 0;
    }
}


/* ==========================================================
   CALENDAR FIX: keep date, activity dots and counts inside
   the same day tile. The previous styles targeted the
   inner date label instead of the actual grid item.
   ========================================================== */
.channel-analysis-page .calendar-grid {
    align-items: stretch;
}
.channel-analysis-page .calendar-grid .calendar-weekday {
    min-width: 0;
    padding: 0 4px 5px;
    color: #aebbd0;
    font-size: 11px;
    font-weight: 800;
    text-align: left;
}
.channel-analysis-page .calendar-grid .calendar-day {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 5px;
    min-width: 0;
    min-height: 78px;
    padding: 8px;
    overflow: hidden;
    border: 1px solid rgba(148,163,184,.13);
    border-radius: 10px;
    background: rgba(255,255,255,.025);
    color: #e2e8f0;
}
.channel-analysis-page .calendar-grid .calendar-day.empty {
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
}
.channel-analysis-page .calendar-grid .calendar-day.today {
    border-color: var(--ca-accent);
    box-shadow: inset 0 0 0 1px rgba(103,232,249,.12);
}
.channel-analysis-page .calendar-grid .calendar-day .calendar-date {
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #f8fafc;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}
.channel-analysis-page .calendar-grid .calendar-date:empty {
    display: none;
}
.channel-analysis-page .calendar-grid .calendar-day .calendar-events {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px;
    width: 100%;
    min-height: 10px;
    margin: 0;
    padding: 0;
    line-height: 1;
}
.channel-analysis-page .calendar-grid .calendar-dot {
    display: inline-block;
    flex: 0 0 6px;
    width: 6px;
    height: 6px;
    margin: 0;
    border-radius: 50%;
}
.channel-analysis-page .calendar-grid .calendar-more {
    color: #cbd5e1;
    font-size: 9px;
    font-weight: 800;
}
.channel-analysis-page .calendar-grid .calendar-day .calendar-total {
    margin-left: auto;
    color: #94a3b8;
    font-size: 10px;
    font-weight: 700;
}

/* ==========================================================
   CHANNEL OVERVIEW: clearer hierarchy and balanced KPI grid
   ========================================================== */
.channel-analysis-page .calendar-overview-section .calendar-metrics-card {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.channel-analysis-page .calendar-overview-section .calendar-metrics-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--ca-border);
}
.channel-analysis-page .calendar-overview-section .calendar-metrics-header h3 {
    margin: 0;
    color: #f8fafc;
    font-size: 17px;
    font-weight: 850;
}
.channel-analysis-page .calendar-overview-section .calendar-metrics-header p {
    margin: 5px 0 0;
    color: var(--ca-muted);
    font-size: 11px;
}
.channel-analysis-page .calendar-overview-section .metrics-live-dot {
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    margin-top: 5px;
    border-radius: 50%;
    background: #34d399;
    box-shadow: 0 0 0 4px rgba(52,211,153,.10);
}
.channel-analysis-page .calendar-overview-section .calendar-metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    align-content: start;
}
.channel-analysis-page .calendar-overview-section .compact-metric {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 82px;
    padding: 13px 14px;
    border: 1px solid rgba(148,163,184,.16);
    border-radius: 12px;
    background: rgba(255,255,255,.025);
}
.channel-analysis-page .calendar-overview-section .compact-metric-label {
    margin-bottom: 7px;
    color: #9fb0c7;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .025em;
    text-transform: uppercase;
}
.channel-analysis-page .calendar-overview-section .compact-metric > strong {
    color: #f8fafc;
    font-size: clamp(17px, 1.5vw, 22px);
    font-weight: 850;
    line-height: 1.15;
    overflow-wrap: anywhere;
}
.channel-analysis-page .calendar-overview-section .compact-metric > small {
    margin-top: 5px;
    color: var(--ca-muted);
    font-size: 10px;
    line-height: 1.4;
}
.channel-analysis-page .calendar-overview-section .compact-metric:nth-child(1),
.channel-analysis-page .calendar-overview-section .compact-metric:nth-child(2) {
    min-height: 98px;
    background: linear-gradient(145deg, rgba(103,232,249,.075), rgba(255,255,255,.025));
    border-color: rgba(103,232,249,.20);
}
.channel-analysis-page .calendar-overview-section .compact-metric:nth-child(3) {
    grid-column: 1 / -1;
    min-height: 100px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 18px;
}
.channel-analysis-page .calendar-overview-section .compact-metric:nth-child(3) .compact-metric-label {
    grid-column: 1 / -1;
}
.channel-analysis-page .calendar-overview-section .compact-metric:nth-child(3) > strong {
    font-size: 21px;
}
.channel-analysis-page .calendar-overview-section .compact-metric:nth-child(3) > small {
    max-width: 210px;
    margin: 0;
    text-align: right;
}
@media (max-width: 1000px) {
    .channel-analysis-page .calendar-overview-section .calendar-metrics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 700px) {
    .channel-analysis-page .calendar-grid .calendar-day {
        min-height: 58px;
        padding: 5px;
        border-radius: 7px;
    }
    .channel-analysis-page .calendar-grid .calendar-weekday {
        padding-left: 2px;
        font-size: 9px;
    }
    .channel-analysis-page .calendar-overview-section .calendar-metrics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .channel-analysis-page .calendar-overview-section .compact-metric:nth-child(3) {
        grid-template-columns: minmax(0, 1fr);
    }
    .channel-analysis-page .calendar-overview-section .compact-metric:nth-child(3) > small {
        margin-top: 5px;
        text-align: left;
    }
}


/* ==========================================================
   FINAL CALENDAR + OVERVIEW TUNING
   ========================================================== */

/* Day number and item count must never visually merge (e.g. 2 + 1 = 21). */
.channel-analysis-page .calendar-grid .calendar-day .calendar-date {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
}
.channel-analysis-page .calendar-grid .calendar-day .calendar-date > span:first-child {
    flex: 0 0 auto;
}
.channel-analysis-page .calendar-grid .calendar-day .calendar-date > .calendar-total {
    flex: 0 0 auto;
    margin-left: auto;
    padding: 1px 5px;
    border-radius: 6px;
    background: rgba(103,232,249,.10);
    color: #9feaf5;
    font-size: 9px;
    line-height: 1.4;
}

/* Smaller calendar: less vertical bulk while keeping activity visible. */
.channel-analysis-page .content-calendar-card {
    padding: 16px !important;
}
.channel-analysis-page .calendar-topbar {
    gap: 10px;
    margin-bottom: 11px;
}
.channel-analysis-page .calendar-stats {
    gap: 7px;
}
.channel-analysis-page .calendar-stat {
    padding: 8px 10px;
    font-size: 10px;
}
.channel-analysis-page .calendar-controls {
    gap: 6px;
    margin-bottom: 8px;
}
.channel-analysis-page .calendar-controls button,
.channel-analysis-page .calendar-nav button,
.channel-analysis-page .calendar-filter {
    padding: 7px 9px;
    font-size: 11px;
}
.channel-analysis-page .calendar-grid {
    gap: 5px;
}
.channel-analysis-page .calendar-grid .calendar-weekday {
    padding-bottom: 2px;
    font-size: 10px;
}
.channel-analysis-page .calendar-grid .calendar-day {
    min-height: 62px;
    gap: 4px;
    padding: 6px;
    border-radius: 8px;
}
.channel-analysis-page .calendar-grid .calendar-day.empty {
    min-height: 0;
}
.channel-analysis-page .calendar-grid .calendar-day .calendar-date {
    font-size: 11px;
}
.channel-analysis-page .calendar-grid .calendar-day .calendar-events {
    min-height: 8px;
    margin: 0;
}
.channel-analysis-page .calendar-grid .calendar-dot {
    width: 5px;
    height: 5px;
    flex-basis: 5px;
}
.channel-analysis-page .calendar-legend {
    margin-top: 9px;
    font-size: 10px;
}

/* Overview: no trend tile; all remaining indicators form a clean grid. */
.channel-analysis-page .calendar-overview-section .calendar-metrics-card {
    justify-content: flex-start;
}
.channel-analysis-page .calendar-overview-section .calendar-metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.channel-analysis-page .calendar-overview-section .compact-metric {
    min-height: 90px;
    padding: 13px 14px;
}
.channel-analysis-page .calendar-overview-section .compact-metric:nth-child(1),
.channel-analysis-page .calendar-overview-section .compact-metric:nth-child(2) {
    min-height: 104px;
}
.channel-analysis-page .calendar-overview-section .compact-metric:nth-child(3) {
    grid-column: auto;
    display: flex;
    min-height: 90px;
    align-items: flex-start;
    justify-content: center;
}
.channel-analysis-page .calendar-overview-section .compact-metric:nth-child(3) > small {
    max-width: none;
    margin-top: 5px;
    text-align: left;
}
@media (max-width: 700px) {
    .channel-analysis-page .calendar-grid .calendar-day {
        min-height: 52px;
        padding: 4px;
    }
    .channel-analysis-page .calendar-overview-section .compact-metric,
    .channel-analysis-page .calendar-overview-section .compact-metric:nth-child(1),
    .channel-analysis-page .calendar-overview-section .compact-metric:nth-child(2) {
        min-height: 78px;
        padding: 10px;
    }
}
