.fll-analytics{--ink:#f4f6f3;--muted:#c0cec6;--line:#405149;--paper:#1b2521;--yellow:#efc63b;--orange:#e88951;color:var(--ink);display:grid;gap:18px;padding:18px;max-width:1500px;margin:auto}
.fll-analytics *{box-sizing:border-box}
.fll-analytics-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:linear-gradient(115deg,#153e2d,#315d42);border-radius:18px;padding:26px;color:#fff}
.fll-analytics-head h1{margin:3px 0 7px;font-size:clamp(1.5rem,2.5vw,2.3rem);line-height:1.15}
.fll-analytics-head p{margin:0 0 8px}.fll-analytics-head small{color:#daebdf}.fll-analytics-eyebrow{color:#f1d261;font-size:.75rem;font-weight:800;letter-spacing:.1em}
.fll-analytics-head button{border:1px solid #f1d261;background:#f1d261;color:#173a2b;border-radius:9px;padding:10px 15px;font-weight:800;cursor:pointer;white-space:nowrap}.fll-analytics-head button:disabled{opacity:.5;cursor:wait}
.fll-analytics-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.fll-analytics-metric,.fll-analytics-card,.fll-analytics-method{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 10px #123d2112}
.fll-analytics-metric{padding:18px;min-width:0;border-top:4px solid var(--yellow)}.fll-analytics-metric span,.fll-analytics-metric small{display:block;color:var(--muted)}.fll-analytics-metric strong{display:block;font-size:clamp(1.5rem,2.7vw,2.3rem);line-height:1.2;margin:7px 0}
.fll-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.fll-analytics-card{padding:19px;min-width:0;overflow:hidden;align-self:stretch}.fll-analytics-card h2,.fll-analytics-method h2{font-size:1.12rem;margin:0 0 17px}.fll-analytics-map-card{grid-column:1 / 2}.fll-analytics-world{width:100%;height:auto;display:block;background:#111b17;border:1px solid var(--line);border-radius:10px}.fll-analytics-world path{stroke:#899b8b;stroke-width:.25;vector-effect:non-scaling-stroke}
.fll-analytics-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:11px;font-size:.8rem}.fll-analytics-legend span{display:inline-flex;align-items:center;gap:6px}.fll-analytics-legend i{width:12px;height:12px;border-radius:3px;border:1px solid #899b8b}.fll-analytics-legend .registered{background:var(--yellow)}.fll-analytics-legend .visits{background:var(--orange)}.fll-analytics-legend .none{background:#dce3df}
.fll-analytics-country-list{max-height:420px;overflow:auto}.fll-analytics-country-list>div{display:grid;grid-template-columns:minmax(0,1fr)auto auto;gap:10px;border-bottom:1px solid var(--line);padding:8px 1px;font-size:.84rem}.fll-analytics-country-list span{overflow-wrap:anywhere}.fll-analytics-country-list small{color:var(--muted)}
.fll-analytics-bars{display:grid;gap:11px}.fll-analytics-bar-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(40px,1.3fr)auto;align-items:center;gap:8px;font-size:.82rem}.fll-analytics-bar-row>span{overflow-wrap:anywhere}.fll-analytics-track{height:11px;border-radius:99px;background:#34463d;overflow:hidden}.fll-analytics-track i{display:block;height:100%;background:#82cba0;border-radius:99px}.fll-analytics-bar-row strong{min-width:39px;text-align:right}
.fll-analytics-line{display:block;max-width:440px;width:100%;height:auto;margin:auto}.fll-analytics-line .axis{fill:none;stroke:#c9d9cb;stroke-width:2}.fll-analytics-line polyline{fill:none;stroke:#82cba0;stroke-width:3}.fll-analytics-line circle{fill:var(--yellow);stroke:#173a2b;stroke-width:2}.fll-analytics-line text{fill:var(--ink);font-size:13px;font-weight:700}.fll-analytics-fine,.fll-analytics-empty{color:var(--muted);font-size:.84rem;line-height:1.5}.fll-analytics-method{padding:20px;border-left:5px solid var(--yellow)}.fll-analytics-method p{margin:0 0 9px;line-height:1.55}.fll-analytics-method small{color:var(--muted)}.fll-analytics-loading,.fll-analytics-error{padding:24px;color:#dae6df}
/* Dashboard theme loads later; keep the analytics surface readable in that cascade. */
.app-shell .main-content .fll-analytics .fll-analytics-head{color:#fff}
.app-shell .main-content .fll-analytics .fll-analytics-head h1,
.app-shell .main-content .fll-analytics .fll-analytics-head p:not(.fll-analytics-eyebrow){color:#fff}
.app-shell .main-content .fll-analytics .fll-analytics-head .fll-analytics-eyebrow{color:#f1d261}
.app-shell .main-content .fll-analytics .fll-analytics-head small{color:#e8f1e8}
.app-shell .main-content .fll-analytics :is(.fll-analytics-metric,.fll-analytics-card){color:var(--ink)}
.app-shell .main-content .fll-analytics :is(.fll-analytics-metric,.fll-analytics-card) :is(p,span,small,.fll-analytics-fine,.fll-analytics-empty){color:var(--muted)}
.app-shell .main-content .fll-analytics .fll-analytics-head button:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #173a2b}
@media(max-width:1050px){.fll-analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fll-analytics-grid{grid-template-columns:1fr}.fll-analytics-map-card{grid-column:auto}}
@media(max-width:620px){.fll-analytics{padding:10px;gap:12px}.fll-analytics-head{display:block;padding:18px}.fll-analytics-head button{margin-top:14px;width:100%}.fll-analytics-metrics{gap:9px}.fll-analytics-metric{padding:12px}.fll-analytics-card{padding:14px}.fll-analytics-country-list>div{grid-template-columns:minmax(0,1fr)auto}.fll-analytics-country-list small{grid-column:2}.fll-analytics-bar-row{grid-template-columns:minmax(80px,1fr) minmax(35px,1fr)auto;font-size:.77rem}}

/* Explicit dashboard-only dark surfaces. PDF colors are defined by the report generator. */
.app-shell .main-content .fll-analytics :is(.fll-analytics-metric,.fll-analytics-card) :is(h2,h3,strong,b){color:var(--ink)}
.fll-analytics-world path[fill="#dce3df"]{fill:#394a42}
.fll-analytics-legend .none{background:#394a42}
.fll-analytics-line .axis{stroke:#60756a}
.fll-analytics-filters{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0}
.fll-analytics-filters label{display:grid;gap:7px;flex:1 1 180px;min-width:0;font-size:.9rem;color:var(--muted)}
.fll-analytics-filters select{width:100%;min-height:44px;padding:9px 12px;border:1px solid #6c8577;border-radius:8px;color:#f4f6f3;background:#101b16;font:inherit;color-scheme:dark}
.fll-analytics :is(select,summary,[data-heatmap-retry]):focus-visible{outline:3px solid #f1d261;outline-offset:3px}
.fll-analytics-heatmap-plot{display:grid;gap:8px;text-align:center;max-width:600px;margin:0 auto}
.fll-analytics-heatmap-plot svg{display:block;width:100%;height:auto;border:1px solid #60756a;border-radius:10px}
.fll-analytics-heatmap-plot>span{font-size:.8rem}
.fll-analytics-heat-scale{display:flex;align-items:center;gap:12px;max-width:600px;margin:14px auto;font-size:.8rem}
.fll-analytics-heat-scale i{height:12px;flex:1;border-radius:8px;background:linear-gradient(90deg,#39705a,#76a95e,#e1be45,#f78c45,#e24e43)}
.fll-analytics-heatmap details{margin-top:16px}.fll-analytics-heatmap summary{cursor:pointer;padding:8px 0;color:var(--ink)}
.fll-analytics-cell-list{max-height:260px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:4px 18px}
.fll-analytics-cell-list p{margin:5px 0;font-size:.85rem}
.app-shell .main-content .fll-analytics .fll-analytics-card .fll-analytics-estimate-total{font-size:2rem;font-weight:800;color:#f1d261;margin:0 0 8px}
.fll-analytics [data-heatmap-retry]{background:#f1d261;color:#173a2b;border:0;padding:10px 16px;border-radius:8px;font-weight:700;cursor:pointer}
@media(max-width:620px){.fll-analytics-filters{display:grid;grid-template-columns:1fr}.fll-analytics-filters label{min-width:0}.fll-analytics-heat-scale{gap:8px}}

.fll-analytics-time-columns .fll-analytics-bars{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px}
.fll-analytics-time-columns .fll-analytics-bar-row{grid-template-columns:minmax(120px,1fr) minmax(70px,1.1fr) auto}
.fll-analytics-heatmap-window{max-width:700px;margin:18px auto;background:#111b17;border:1px solid #60756a;border-radius:14px;overflow:hidden}
.fll-analytics-heatmap-window header{display:flex;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid #405149;background:#27362e}
.fll-analytics-heatmap-window header i{display:block;width:8px;height:8px;border-radius:50%;background:#87cfa3;flex:none}
.fll-analytics-heatmap-window .fll-analytics-heatmap-plot{padding:14px;max-width:640px}
.fll-analytics-heatmap-summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:14px 0}
.fll-analytics-heatmap-window svg{border-radius:5px}
@media(max-width:900px){.fll-analytics-time-columns .fll-analytics-bars{grid-template-columns:1fr}}
