/* NDN Timeline — Analytics / quick-tools / geo-consent UI */
:root{
  --ndn-an-blue:#2f80ed;--ndn-an-pink:#eb5757;--ndn-an-green:#27ae60;
  --ndn-an-amber:#f2994a;--ndn-an-cyan:#2d9cdb;--ndn-an-purple:#9b51e0;
}

/* ---- Toolbar above the my-posts tabs ---- */
.ndn-mp-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 14px;}
.ndn-mp-search{position:relative;flex:1 1 260px;min-width:200px;}
.ndn-mp-search-ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.5;font-size:14px;pointer-events:none;}
#ndn-mp-search-input{width:100%;padding:10px 34px 10px 34px;border:1px solid var(--ndn-border,#e3e3e3);border-radius:10px;font-size:14px;background:var(--ndn-bg,#fff);color:inherit;outline:none;transition:border-color .15s,box-shadow .15s;}
#ndn-mp-search-input:focus{border-color:var(--ndn-an-blue);box-shadow:0 0 0 3px rgba(47,128,237,.12);}
.ndn-mp-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:inherit;opacity:.55;}
.ndn-mp-search-clear:hover{opacity:1;}
.ndn-mp-tools{display:flex;gap:8px;flex-wrap:wrap;}
.ndn-mp-btn{border:1px solid var(--ndn-border,#e3e3e3);background:var(--ndn-bg,#fff);color:inherit;padding:9px 14px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;}
.ndn-mp-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.08);}
.ndn-mp-btn-analytics.active{background:var(--ndn-an-blue);color:#fff;border-color:var(--ndn-an-blue);}
.ndn-mp-btn-danger{color:var(--ndn-an-pink);border-color:rgba(235,87,87,.4);}
.ndn-mp-btn-danger:hover{background:var(--ndn-an-pink);color:#fff;border-color:var(--ndn-an-pink);}
.ndn-mp-noresult{padding:30px 10px;text-align:center;opacity:.7;}

/* ---- Analytics panel ---- */
.ndn-analytics-panel{margin:0 0 16px;}
.ndn-an-wrap{display:flex;flex-direction:column;gap:14px;}
.ndn-an-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;}
.ndn-an-stat{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:14px;background:var(--ndn-card,#fafafa);border:1px solid var(--ndn-border,#eee);position:relative;overflow:hidden;}
.ndn-an-stat .ndn-an-ic{font-size:18px;}
.ndn-an-stat .ndn-an-val{font-size:24px;font-weight:800;line-height:1.1;}
.ndn-an-stat .ndn-an-lbl{font-size:12px;opacity:.65;}
.ndn-an-stat.s-blue{border-top:3px solid var(--ndn-an-blue);}
.ndn-an-stat.s-pink{border-top:3px solid var(--ndn-an-pink);}
.ndn-an-stat.s-green{border-top:3px solid var(--ndn-an-green);}
.ndn-an-stat.s-amber{border-top:3px solid var(--ndn-an-amber);}
.ndn-an-stat.s-cyan{border-top:3px solid var(--ndn-an-cyan);}
.ndn-an-stat.s-purple{border-top:3px solid var(--ndn-an-purple);}
.ndn-an-card{padding:16px;border-radius:14px;background:var(--ndn-card,#fafafa);border:1px solid var(--ndn-border,#eee);}
.ndn-an-h{font-size:14px;font-weight:700;margin-bottom:12px;}
.ndn-an-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;}
.ndn-an-chart{width:100%;height:180px;display:block;}
.ndn-an-grid{stroke:currentColor;opacity:.08;}
.ndn-an-legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:8px;font-size:12px;opacity:.8;}
.ndn-an-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:middle;}
.ndn-an-range{display:flex;justify-content:space-between;font-size:11px;opacity:.5;margin-top:4px;}
.ndn-an-bars{display:flex;flex-direction:column;gap:9px;}
.ndn-an-barrow{display:grid;grid-template-columns:96px 1fr auto;gap:10px;align-items:center;font-size:12px;}
.ndn-an-barlbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.8;text-transform:capitalize;}
.ndn-an-bartrack{height:8px;border-radius:5px;background:rgba(127,127,127,.15);overflow:hidden;}
.ndn-an-barfill{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--ndn-an-blue),var(--ndn-an-cyan));}
.ndn-an-barval{white-space:nowrap;opacity:.65;font-variant-numeric:tabular-nums;}
.ndn-an-empty,.ndn-an-note{font-size:12px;opacity:.6;margin:4px 0 0;}

/* ---- Comparison badges ---- */
.ndn-an-cmp{display:flex;flex-direction:column;gap:8px;}
.ndn-an-cmprow{display:flex;justify-content:space-between;align-items:center;font-size:13px;}
.ndn-an-pct{font-weight:700;font-size:12px;padding:2px 8px;border-radius:8px;}
.ndn-an-pct.s-up{color:var(--ndn-an-green);background:rgba(39,174,96,.12);}
.ndn-an-pct.s-down{color:var(--ndn-an-pink);background:rgba(235,87,87,.12);}
.ndn-an-pct.s-flat{opacity:.55;background:rgba(127,127,127,.1);}

/* ---- Top posts list ---- */
.ndn-an-toplist{display:flex;flex-direction:column;gap:8px;}
.ndn-an-toprow{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;font-size:12.5px;padding:6px 0;border-bottom:1px solid var(--ndn-border,#eee);}
.ndn-an-toprow:last-child{border-bottom:none;}
.ndn-an-toprank{font-weight:800;opacity:.5;}
.ndn-an-topexcerpt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ndn-an-topmetrics{white-space:nowrap;opacity:.65;font-variant-numeric:tabular-nums;font-size:11.5px;}

/* ---- Hour-of-day heatmap ---- */
.ndn-an-hours{display:flex;align-items:flex-end;gap:2px;height:70px;}
.ndn-an-hourcol{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;}
.ndn-an-hourbar{width:100%;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--ndn-an-blue),var(--ndn-an-cyan));min-height:2px;}
.ndn-an-hourlbl{font-size:9px;opacity:.5;margin-top:3px;}

/* ---- Geo consent popup (and shared modal) ---- */
.ndn-geo-pop{position:fixed;inset:0;z-index:99999;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.35);opacity:0;transition:opacity .25s;padding:16px;}
.ndn-geo-pop.show{opacity:1;}
.ndn-geo-card{background:var(--ndn-bg,#fff);color:var(--ndn-text,#222);width:100%;max-width:380px;border-radius:18px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.3);transform:translateY(20px);transition:transform .25s;text-align:center;position:relative;}
.ndn-geo-pop.show .ndn-geo-card{transform:translateY(0);}
@media(min-width:640px){.ndn-geo-pop{align-items:center;}}
.ndn-geo-x{position:absolute;top:10px;right:14px;border:0;background:transparent;font-size:22px;cursor:pointer;opacity:.5;color:inherit;}
.ndn-geo-x:hover{opacity:1;}
.ndn-geo-ic{font-size:38px;margin-bottom:6px;}
.ndn-geo-title{font-size:17px;font-weight:800;margin-bottom:8px;}
.ndn-geo-desc{font-size:13.5px;line-height:1.5;opacity:.8;margin-bottom:16px;}
.ndn-geo-actions{display:flex;gap:10px;}
.ndn-geo-actions button{flex:1;padding:11px;border-radius:11px;font-size:14px;font-weight:700;cursor:pointer;border:1px solid var(--ndn-border,#e3e3e3);background:var(--ndn-bg,#fff);color:inherit;transition:all .15s;}
.ndn-geo-yes{background:var(--ndn-an-blue);color:#fff;border-color:var(--ndn-an-blue);}
.ndn-geo-yes:hover{filter:brightness(1.05);}
.ndn-geo-no:hover{background:rgba(127,127,127,.08);}
