/* Admin analytics and campaign surfaces. */
.analytics { max-width:1400px; font-size:14px; }
.analytics h2 { font-size:18px; line-height:1.3; letter-spacing:-.02em; }
.analytics__tabs { display:flex; flex-wrap:wrap; align-self:flex-start; gap:4px; padding:4px; border-radius:14px; background:#fff; }
.analytics__tabs a { display:flex; align-items:center; min-height:36px; padding:0 16px; border-radius:10px; font-size:13px; font-weight:500; color:#666; }
.analytics__tabs a:hover { background:#F1F1F1; color:#111; text-decoration:none; }
.analytics__tabs a[aria-current="page"] { background:#111; color:#fff; font-weight:700; }
.analytics__tabs a[aria-current="page"]:hover { background:#333; color:#fff; }
.analytics__button, .analytics__field input, .analytics__field select { border:2px solid #E2E2E2; border-radius:12px; background:#fff; color:#111; padding:8px 12px; min-height:40px; font-size:13px; line-height:20px; }
.analytics__button { flex-shrink:0; padding-inline:16px; font-weight:700; }
.analytics__button:hover:not(:disabled) { background:#F4F4F4; }
.analytics__button--primary, .analytics__filter-row button[type="submit"] { background:#111; color:#fff; border-color:#111; }
.analytics__button--primary:hover:not(:disabled), .analytics__filter-row button[type="submit"]:hover:not(:disabled) { background:#333; border-color:#333; }
.analytics :disabled { cursor:default; opacity:.55; }
.analytics__filters { display:flex; flex-direction:column; gap:16px; background:#fff; border-radius:22px; padding:20px 24px; box-shadow:0 1px 2px #0000000a; }
.analytics__filter-row { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; }
.analytics__field { display:flex; flex-direction:column; gap:6px; min-width:0; font-size:12px; font-weight:500; color:#666; }
.analytics__field input, .analytics__field select { min-width:0; width:100%; }
.analytics__field select { padding-right:30px; }
.analytics__field input:focus-visible, .analytics__field select:focus-visible { border-color:#111; outline:none; }
.analytics__filter-row .analytics__field { flex:1 1 140px; max-width:220px; }
.analytics__filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding-top:20px; }
.analytics__more { border-top:1px solid #EEE; padding-top:12px; }
.analytics__more summary { min-height:24px; border:0; padding:0; background:transparent; }
.analytics__more summary, .campaign__options > summary, .campaign__tracking > summary { cursor:pointer; font-size:13px; font-weight:700; list-style:none; }
.analytics__more summary::-webkit-details-marker, .campaign__options > summary::-webkit-details-marker, .campaign__tracking > summary::-webkit-details-marker { display:none; }
.analytics__more summary::before, .campaign__options > summary::before, .campaign__tracking > summary::before { content:'▸'; display:inline-block; margin-right:8px; transition:transform .15s; }
.analytics__more[open] > summary::before, .campaign__options[open] > summary::before, .campaign__tracking[open] > summary::before { transform:rotate(90deg); }
.analytics__dates { display:flex; flex-wrap:wrap; gap:16px; }
.analytics__dates .analytics__field { flex:0 1 220px; }
.analytics__report, .analytics__report-area, .analytics__campaigns, .analytics__group { display:flex; flex-direction:column; gap:16px; min-width:0; }
.analytics__report { gap:20px; }
.analytics__group { padding:28px; border-radius:22px; background:#fff; box-shadow:0 1px 2px #0000000a; }
.analytics__product { background:transparent; padding:0; box-shadow:none; gap:20px; }
.analytics__product > p:first-child { max-width:640px; font-size:15px; color:#555; }
.analytics__product-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:12px; }
.analytics__product-link { display:flex; flex-direction:column; gap:8px; background:#fff; border-radius:18px; padding:22px; font-weight:400; }
.analytics__product-link b { font-size:15px; }
.analytics__product-link b::after { content:'↗'; float:right; color:#999; margin-left:10px; }
.analytics__product-link span { color:#666; font-size:13px; }
.analytics__product-link:hover { text-decoration:none; box-shadow:0 12px 28px -18px #0000004d; }
.analytics__note, .analytics__status { font-size:13px; line-height:1.6; color:#777; overflow-wrap:anywhere; }
.analytics__status:empty, .analytics__note:empty { display:none; }
.analytics__notice { border:2px solid #E2E2E2; border-radius:14px; padding:12px 16px; font-size:13px; line-height:1.6; color:#555; }
.analytics__notice .analytics__button { align-self:flex-start; }
.analytics__stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:12px; }
.analytics__stats--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.analytics .stat { min-width:0; padding:22px; gap:8px; }
.analytics .stat__value { font-size:30px; }
.analytics .stat .analytics__note { font-size:12px; }
.analytics__primary { display:flex; align-items:center; flex-wrap:wrap; gap:20px 28px; }
.analytics__primary-count { font-size:72px; font-weight:800; line-height:1; letter-spacing:-.04em; }
.analytics__primary-rate { font-size:32px; font-weight:500; color:#555; }
.analytics__inline-metrics { display:flex; flex-wrap:wrap; gap:12px 28px; }
.analytics__funnel { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; padding:0; margin:0; list-style:none; }
.analytics__funnel li { display:flex; flex-direction:column; gap:8px; border-left:3px solid #111; padding-left:14px; font-size:13px; }
.analytics__funnel strong { font-size:28px; line-height:1.2; }
.analytics__health { display:grid; grid-template-columns:minmax(180px,240px) 1fr; gap:10px 20px; margin:0; font-size:13px; }
.analytics__health dt { font-weight:700; }
.analytics__health dd { margin:0; color:#555; overflow-wrap:anywhere; }
.analytics__group > a { font-size:13px; text-decoration:underline; }
.analytics__table-wrap { overflow:auto; max-width:100%; min-width:0; }
.analytics__table { width:100%; min-width:680px; border-collapse:collapse; font-size:13px; line-height:1.6; table-layout:fixed; }
.analytics__table--channels { min-width:1030px; }
.analytics__table th, .analytics__table td { padding:14px 10px; text-align:left; vertical-align:top; overflow-wrap:anywhere; border-bottom:1px solid #F1F1F1; }
.analytics__table thead th { font-weight:500; color:#777; border-bottom:1px solid #E2E2E2; }
.analytics__table tbody th { font-weight:700; }
.analytics__table tbody tr:hover { background:#FAFAFA; }
.analytics__table th:first-child, .analytics__table td:first-child { padding-left:0; }
.analytics__table th:last-child, .analytics__table td:last-child { padding-right:0; }
.analytics__table--channels :is(th,td):not(:first-child) { text-align:right; font-variant-numeric:tabular-nums; }
.analytics__table--campaigns { min-width:640px; }
.analytics__table--campaigns th:first-child { width:30%; }
.analytics__table--campaigns th:nth-child(2) { width:17%; }
.analytics__table--campaigns th:nth-child(3) { width:18%; }
.analytics__trends { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px 24px; }
.analytics__trend { display:flex; flex-direction:column; gap:10px; font-size:13px; }
.analytics__bar-track { height:12px; background:#EEE; border-radius:8px; overflow:hidden; }
.analytics__bar { display:block; height:100%; border-radius:inherit; background:#111; }
.analytics__split, .analytics__actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.analytics__split { justify-content:space-between; }
.analytics__fieldset { min-width:0; border:0; margin:0; padding:0; }
.analytics__campaign-form { display:flex; flex-direction:column; gap:16px; }
.analytics__check { display:flex; align-items:center; gap:10px; font-size:13px; }
.analytics__check input { width:18px; height:18px; accent-color:#111; flex:none; }
.analytics__break { overflow-wrap:anywhere; }
.analytics__footnote { font-size:12px; color:#888; }
.campaign__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"editor result" "saved result"; gap:20px; align-items:start; }
.campaign__editor { grid-area:editor; background:#fff; border-radius:22px; padding:28px; box-shadow:0 1px 2px #0000000a; min-width:0; }
.campaign__choices, .campaign__intro, .campaign__step { display:flex; flex-direction:column; gap:12px; min-width:0; }
.campaign__choices { gap:24px; }
.campaign__intro { gap:8px; }
.analytics .campaign__intro h2 { font-size:24px; line-height:1.3; }
.analytics .campaign__step h3, .campaign__step legend { font-size:16px; line-height:1.5; font-weight:700; padding:0; margin:0; }
.campaign__hint { font-size:13px; line-height:1.6; color:#777; overflow-wrap:anywhere; }
.campaign-builder #campaign-title { font-size:18px; min-height:52px; font-weight:500; border-radius:14px; padding:12px 14px; }
.campaign__channel-step { border:0; padding:0; margin:0; display:block; }
.campaign__channel-step legend { margin-bottom:12px; }
.campaign__channels { display:flex; flex-wrap:wrap; gap:8px; }
.campaign__channel { position:relative; cursor:pointer; }
.campaign__channel > input { position:absolute; width:1px; height:1px; padding:0; margin:0; clip-path:inset(50%); overflow:hidden; }
.campaign__channel > span { display:flex; align-items:center; min-height:40px; border:2px solid #E2E2E2; border-radius:12px; padding:8px 14px; font-size:13px; line-height:20px; font-weight:500; }
.campaign__channel:hover > span { background:#F4F4F4; }
.campaign__channel > input:checked + span { background:#111; border-color:#111; color:#fff; font-weight:700; }
.campaign__channel > input:focus-visible + span { outline:2px solid #111; outline-offset:3px; }
.campaign__channel > input:disabled + span { opacity:.55; cursor:default; }
.campaign__channel-tick { display:none; }
.campaign__channel > input:checked + span .campaign__channel-tick { display:inline; margin-right:4px; }
.campaign__channel-step > .campaign__hint, .campaign__custom-channel { margin-top:12px; }
.campaign__destination > .analytics__field { width:360px; max-width:100%; }
.campaign__destination > .analytics__field > span:first-child { display:none; }
.campaign__destination select { min-height:48px; border-radius:14px; }
.campaign__result { grid-area:result; position:sticky; top:24px; min-width:0; display:flex; flex-direction:column; gap:20px; padding:28px; border-radius:22px; background:#111; color:#fff; box-shadow:0 24px 50px -24px #00000080; }
.campaign__result-heading { display:flex; flex-direction:column; gap:8px; }
.analytics .campaign__result h2 { font-size:28px; line-height:1.2; letter-spacing:-.03em; overflow-wrap:anywhere; }
.campaign__eyebrow { font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:#ffffffb3; }
.campaign__destination-summary { font-size:15px; font-weight:600; overflow-wrap:anywhere; }
.campaign__destination-summary:empty { display:none; }
.campaign__result-hint { font-size:15px; }
.campaign__url { display:block; width:100%; padding:14px 16px; border:0; border-radius:14px; background:#ffffff14; color:inherit; font-size:15px; font-weight:500; line-height:1.6; overflow-wrap:anywhere; resize:none; overflow:hidden; }
.campaign__result > .campaign__hint:first-of-type { border-top:1px solid #ffffff26; padding-top:18px; }
.campaign__result .campaign__hint, .campaign__result .analytics__status { color:#ffffffbf; }
.campaign__result .campaign__submit { order:1; background:#fff; border-color:#fff; color:#111; font-size:14px; min-height:52px; padding:12px 16px; border-radius:12px; }
.campaign__result .campaign__submit:hover:not(:disabled) { background:#E8E8E8; border-color:#E8E8E8; }
.campaign__result > .campaign__hint, .campaign__result > .analytics__status, .campaign__secondary-actions { order:2; }
.campaign__result :focus-visible { outline-color:#fff; }
.campaign__full-link { order:3; font-size:13px; min-width:0; }
.campaign__full-link summary { cursor:pointer; text-decoration:underline; }
.campaign__full-link .campaign__url { margin:14px 0; font-size:13px; }
.campaign__full-link .analytics__button { min-height:36px; background:transparent; color:#fff; border-color:#ffffff66; }
.campaign__full-link .analytics__button:hover:not(:disabled) { background:#ffffff14; }
.campaign__secondary-actions { display:flex; flex-wrap:wrap; gap:12px 20px; }
.campaign__secondary-actions:has(> [hidden]):not(:has(> :not([hidden]))) { display:none; }
.analytics .campaign__text-button { border:0; border-radius:0; background:transparent; padding:0; min-height:24px; text-decoration:underline; font-size:13px; }
.campaign__result .campaign__text-button { color:#fff; }
.analytics .campaign__text-button:hover:not(:disabled) { background:transparent; text-decoration-thickness:2px; }
.campaign__options { border-top:1px solid #EEE; padding-top:20px; margin-top:24px; min-width:0; }
.campaign__options > summary .campaign__hint { margin-top:6px; font-weight:400; }
.campaign__option-body { display:flex; flex-direction:column; gap:20px; padding-top:24px; }
.campaign__setting { display:flex; flex-direction:column; gap:12px; min-width:0; }
.campaign__setting + .campaign__setting, .campaign__tracking { border-top:1px solid #EEE; padding-top:20px; }
.campaign__short-setting { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:13px; }
.campaign__short-setting .analytics__field { flex:1 1 180px; }
.campaign__short-setting .analytics__field > span:first-child { display:none; }
.campaign__setting > .analytics__field { max-width:400px; }
.campaign__tracking > .campaign__hint { margin:14px 0; }
.campaign__source-review { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-bottom:18px; }
.campaign__tracking-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.campaign__tracking-fields > .campaign__tracking-fields, .campaign__tracking-fields > label:has(#campaign-name) { grid-column:1 / -1; }
.campaign__error { font-size:13px; line-height:20px; color:#B3261E; }
.campaign__saved { grid-area:saved; }
.campaign__saved .analytics__table .campaign__hint { font-size:12px; margin-top:6px; }
.campaign__saved .analytics__split .analytics__button { border:2px solid #E2E2E2; padding:6px 12px; border-radius:10px; min-height:36px; text-decoration:none; }
@media (max-width:1200px) { .analytics__funnel { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:1100px) { .campaign__layout { grid-template-columns:minmax(0,1fr); grid-template-areas:"editor" "result" "saved"; } .campaign__result { position:static; } }
@media (max-width:600px) {
 .analytics__stats--three, .analytics__filter-grid, .campaign__tracking-fields { grid-template-columns:minmax(0,1fr); }
 .analytics__funnel, .analytics__trends { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .analytics__health { grid-template-columns:1fr; gap:6px; }
 .analytics__health dd { margin-bottom:12px; }
 .analytics__group, .analytics__filters, .campaign__editor, .campaign__result { padding:22px; }
 .analytics__product { padding:0; }
 .analytics__filter-row .analytics__field { max-width:none; }
 .analytics__primary { gap:12px 20px; }
 .analytics__tabs a { padding-inline:12px; }
}
