.dtf-analytics { --dtf-ink:#162345; --dtf-muted:#73819a; --dtf-blue:#385dff; --dtf-line:#e2e8f2; color:var(--dtf-ink); font-size:14px; max-width:100%; }
.dtf-analytics *, .dtf-analytics *::before, .dtf-analytics *::after { box-sizing:border-box; }
.dtf-analytics h2, .dtf-analytics h3 { font-family:inherit; font-weight:700; }
.dtf-analytics-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }
.dtf-analytics .dtf-analytics-heading h2 { font-size:28px; line-height:1.25; letter-spacing:-.5px; margin:0 0 8px; color:var(--dtf-ink); }
.dtf-analytics-heading p { color:var(--dtf-muted); margin:0; max-width:600px; overflow-wrap:anywhere; }
.dtf-analytics-back { color:var(--dtf-blue); white-space:nowrap; padding-top:8px; font-weight:600; }
.dtf-analytics-filters { padding:18px; background:#fff; border:1px solid var(--dtf-line); border-radius:14px; }
.dtf-analytics-periods { display:flex; width:max-content; max-width:100%; border-radius:10px; background:#f3f5fa; padding:4px; gap:3px; margin-bottom:18px; }
.dtf-analytics-periods a { color:#62718b; padding:9px 18px; border-radius:8px; font-weight:600; line-height:1.3; text-align:center; }
.dtf-analytics-periods a[aria-current] { background:var(--dtf-blue); color:#fff; box-shadow:0 3px 8px #385dff20; }
.dtf-analytics-periods a:hover { color:var(--dtf-blue); background:#e7edff; }
.dtf-analytics-periods a[aria-current]:hover { background:#244be6; color:#fff; }
.dtf-analytics-filter-form { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; margin:0; }
.dtf-analytics-filter-form label { display:grid; gap:7px; min-width:0; margin:0; color:var(--dtf-muted); font-size:12px; font-weight:500; }
.dtf-analytics-ad-select { flex:1 1 260px; }
.dtf-analytics .dtf-analytics-filter-form select, .dtf-analytics .dtf-analytics-filter-form input[type=date] { height:42px; border:1px solid var(--dtf-line); border-radius:8px; padding:0 12px; background:#f8faff; color:var(--dtf-ink); font-size:14px; margin:0; max-width:100%; width:100%; }
.dtf-analytics .dtf-analytics-filter-form button { height:42px; border:0; border-radius:8px; padding:0 22px; background:var(--dtf-blue); color:#fff; font-weight:600; font-size:14px; margin:0; }
.dtf-analytics .dtf-analytics-filter-form button:hover { background:#244be6; color:#fff; }
.dtf-analytics-range { display:flex; gap:14px; justify-content:space-between; margin:20px 0 12px; color:var(--dtf-muted); font-size:12px; }
.dtf-analytics-range span { color:#97a2b5; }
.dtf-analytics-kpis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:20px; }
.dtf-analytics-kpis article { background:#fff; border:1px solid var(--dtf-line); border-radius:14px; padding:20px 24px; }
.dtf-analytics-kpi-label { display:flex; gap:10px; align-items:center; font-size:15px; font-weight:600; }
.dtf-analytics-kpi-label .dashicons { color:var(--dtf-blue); background:#edf2ff; width:34px; height:34px; padding:7px; border-radius:9px; font-size:20px; }
.dtf-analytics-kpis article:nth-child(2) .dashicons { color:#198a83; background:#eaf7f4; }
.dtf-analytics-kpis strong { display:block; font-size:38px; line-height:1.1; letter-spacing:-1px; margin:16px 0 7px; font-weight:700; }
.dtf-analytics-kpis article>span { display:block; color:var(--dtf-muted); font-size:12px; }
.dtf-analytics-panel { background:#fff; border:1px solid var(--dtf-line); border-radius:14px; padding:22px 24px; margin-bottom:20px; }
.dtf-analytics-panel-head { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:22px; }
.dtf-analytics .dtf-analytics-panel-head h3 { color:var(--dtf-ink); font-size:17px; line-height:1.3; margin:0; }
.dtf-analytics-panel-head>span { color:var(--dtf-muted); }
.dtf-analytics-legend { display:flex; gap:18px; flex-wrap:wrap; color:var(--dtf-muted); font-size:12px; }
.dtf-analytics-legend span::before { content:""; display:inline-block; width:8px; height:8px; border-radius:3px; margin-right:7px; background:var(--dtf-blue); }
.dtf-analytics-legend span+span::before { background:#25a598; }
.dtf-analytics-chart { display:flex; gap:5px; height:166px; padding-top:12px; background:repeating-linear-gradient(to top,transparent 0,transparent 47px,#f1f4f9 48px,#f1f4f9 49px); }
.dtf-analytics-chart-day { flex:1; min-width:0; position:relative; display:flex; flex-direction:column; justify-content:flex-end; outline-offset:3px; }
.dtf-analytics-bars { height:132px; display:flex; justify-content:center; align-items:flex-end; gap:2px; border-bottom:1px solid var(--dtf-line); }
.dtf-analytics-bar { display:block; width:37%; max-width:24px; border-radius:4px 4px 0 0; background:var(--dtf-blue); }
.dtf-analytics-bar--messages { background:#25a598; }
.dtf-analytics-chart-date { text-align:center; font-size:10px; color:var(--dtf-muted); padding-top:9px; white-space:nowrap; }
.dtf-analytics-chart--dense .dtf-analytics-chart-day:not(:first-child):not(:last-child):not(:nth-child(5n)) .dtf-analytics-chart-date { opacity:0; }
.dtf-analytics-chart-day:hover::after, .dtf-analytics-chart-day:focus-visible::after { content:attr(data-label); position:absolute; bottom:42px; left:50%; transform:translateX(-50%); z-index:2; background:#162345; color:#fff; font-size:11px; padding:8px 10px; border-radius:6px; width:180px; line-height:1.5; box-shadow:0 3px 12px #16234520; pointer-events:none; }
.dtf-analytics-chart-day:first-child::after { left:0; transform:none; }
.dtf-analytics-chart-day:last-child::after { left:auto; right:0; transform:none; }
.dtf-analytics-chart-empty { text-align:center; color:var(--dtf-muted); font-size:13px; margin:12px 0 0; }
.dtf-analytics-table-wrap { overflow-x:auto; }
.dtf-analytics table { width:100%; margin:0; border-collapse:collapse; border:0; font-size:14px; }
.dtf-analytics th, .dtf-analytics td { padding:14px 10px; border:0; border-bottom:1px solid #edf1f7; text-align:left; vertical-align:middle; }
.dtf-analytics th { font-size:12px; font-weight:500; color:var(--dtf-muted); padding-top:0; }
.dtf-analytics td:first-child { min-width:200px; width:65%; }
.dtf-analytics td a { color:var(--dtf-ink); font-weight:600; display:block; overflow-wrap:anywhere; }
.dtf-analytics td a:hover { color:var(--dtf-blue); }
.dtf-analytics td>span { display:block; font-size:11px; color:var(--dtf-muted); margin-top:5px; }
.dtf-analytics tr:last-child td { border-bottom:0; }
.dtf-analytics-pagination { display:flex; gap:14px; justify-content:flex-end; align-items:center; padding-top:14px; color:var(--dtf-muted); font-size:12px; }
.dtf-analytics-footnote { color:var(--dtf-muted); font-size:12px; line-height:1.7; margin:0; }
.dtf-analytics-notice { padding:18px; background:#f5f7fc; border-radius:10px; color:#62718b; }
.dtf-analytics a:focus-visible, .dtf-analytics input:focus-visible, .dtf-analytics select:focus-visible, .dtf-analytics button:focus-visible, .dtf-analytics-chart-day:focus-visible, .dtf-analytics-owner-link:focus-visible { outline:2px solid #385dff; outline-offset:3px; }
.dtf-analytics-owner-link[hidden], .dtf-analytics-observer[hidden] { display:none!important; }
a.dtf-analytics-owner-link { display:inline-flex; align-items:center; gap:6px; padding:8px 10px; border:1px solid #dce4f3; border-radius:8px; background:#fff; color:#385dff; font-size:12px; font-weight:600; line-height:1.3; text-decoration:none; white-space:nowrap; cursor:pointer; }
a.dtf-analytics-owner-link:hover { background:#edf2ff; color:#244be6; border-color:#b8c8ff; }
.dtf-analytics-owner-link .dashicons { font-size:17px; width:17px; height:17px; }
.advert-item.adverts-card .dtf-analytics-owner-link--card { position:absolute; top:12px; left:12px; z-index:3; box-shadow:0 3px 10px #17234512; }
.wpadverts-single-modern .adverts-single-heading .dtf-advert-owner-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; align-items:center; gap:10px; margin-top:4px; max-width:100%; }
.wpadverts-single-modern .adverts-single-heading .dtf-advert-owner-actions > .adverts-single-edit-button,
.wpadverts-single-modern .adverts-single-heading .dtf-advert-owner-actions > .dtf-analytics-owner-link { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:38px; margin:0; padding:7px 11px; border-radius:9px; font-family:inherit; font-size:13px; font-weight:600; line-height:1.4; flex:0 0 auto; }
.dtf-advert-owner-actions .dtf-analytics-owner-link .dashicons { width:18px; height:18px; font-size:18px; }
.dtf-advert-owner-actions > .adverts-single-edit-result { order:3; flex-basis:100%; margin:8px 0 0; }
@supports selector(:has(*)) {
	.dtf-advert-owner-actions:not(:has(> :not([hidden]))) { display:none!important; }
}
.dtf-message-context { padding:10px 14px; border:1px solid #dce4f3; background:#f4f7ff; border-radius:9px; color:#62718b; font-size:13px; margin:12px 0; }
.dtf-message-context a { color:#385dff; font-weight:600; }
.dtf-message-context-label { margin-right:6px; }
@media(max-width:640px) {
	.dtf-analytics-heading { gap:12px; margin-bottom:18px; flex-wrap:wrap; }
	.dtf-analytics .dtf-analytics-heading h2 { font-size:24px; }
	.dtf-analytics-filters { padding:14px; }
	.dtf-analytics-periods { width:100%; }
	.dtf-analytics-periods a { flex:1; padding:9px 8px; font-size:12px; }
	.dtf-analytics-filter-form { gap:10px; }
	.dtf-analytics-ad-select { flex-basis:100%; }
	.dtf-analytics-filter-form label:not(.dtf-analytics-ad-select) { flex:1 1 calc(50% - 5px); }
	.dtf-analytics .dtf-analytics-filter-form button { flex:1 1 100%; }
	.dtf-analytics-kpis { gap:10px; }
	.dtf-analytics-kpis article { padding:16px 14px; }
	.dtf-analytics-kpi-label { font-size:12px; gap:7px; }
	.dtf-analytics-kpi-label .dashicons { width:28px; height:28px; padding:5px; font-size:18px; }
	.dtf-analytics-kpis strong { font-size:32px; }
	.dtf-analytics-kpis article>span { font-size:11px; }
	.dtf-analytics-panel { padding:18px 14px; }
	.dtf-analytics-panel-head { align-items:flex-start; flex-wrap:wrap; gap:10px; }
	.dtf-analytics-legend { gap:12px; font-size:11px; }
	.dtf-analytics-chart { gap:2px; }
	.dtf-analytics-chart-date { font-size:8px; }
	.dtf-analytics-chart-day:not(:first-child):not(:last-child):not(:nth-child(5n)) .dtf-analytics-chart-date { opacity:0; }
	.dtf-analytics th, .dtf-analytics td { font-size:12px; padding:12px 6px; }
	.dtf-analytics td:first-child { min-width:160px; }
	.wpadverts-single-modern .adverts-single-heading .dtf-advert-owner-actions { margin-top:0; gap:8px; flex-wrap:wrap; }
}
