:root{--bg:#f3f6fb;--surface:#fff;--surface-hover:#edf1f7;--ink:#122033;--ink-muted:#4d5d71;--ink-faint:#77869a;--accent:#164b9c;--accent-ink:#fff;--accent-soft:#e4edff;--line:#dfe5ee;--warn:#ba1a1a;--warn-soft:#fbe4e4;--radius:14px;--radius-sm:9px;--shadow-card:0 1px 2px rgba(15,35,60,.04),0 8px 24px rgba(15,35,60,.035);--shadow-raised:0 18px 48px rgba(15,35,60,.16);--chart-blue:#2f70d2;--success:#138a63;--success-soft:#def5eb;--amber:#ba6b13;--violet:#7155ba;--font-display:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-body:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:ui-monospace,"SF Mono","Cascadia Code",monospace}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}a{color:inherit}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;transform:translateY(-150%);padding:9px 12px;border-radius:var(--radius-sm);background:var(--ink);color:#fff;font-size:13px;font-weight:700;text-decoration:none}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:no-preference){.skeleton-shimmer{animation:skeleton-shimmer 1.4s ease infinite}}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.app-shell,.main-content{display:flex;height:100vh}.main-content{flex:1 1;min-width:0;flex-direction:column;margin-left:240px}.main-scroll-area{flex:1 1;min-height:0;overflow-y:auto}.sidebar{width:240px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);padding:24px 18px 32px;overflow-y:auto;height:100vh;position:fixed;top:0;left:0;z-index:15}.admin-topbar{flex-shrink:0;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 32px;border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.admin-topbar__context{display:flex;flex-direction:column;line-height:1.25}.admin-topbar__context span{color:var(--ink-faint);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.admin-topbar__context strong{color:var(--ink);font-size:14px;margin-top:2px}.admin-main{width:min(100%,1440px);margin:0 auto;padding:30px 32px 48px}.signed-in{display:flex;align-items:center;gap:10px}.signed-in__avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#e8eef8;color:var(--accent);font-weight:800;font-size:12px}.signed-in__email{font-size:12px;color:var(--ink-muted)}.dashboard-error button,.refresh-button,.sign-out-button{min-height:38px;padding:7px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-muted);font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.sign-out-button{min-height:40px}.refresh-button:hover,.sign-out-button:hover{border-color:#bcc8d8;background:var(--surface-hover);color:var(--ink)}.dashboard-page{display:flex;flex-direction:column;gap:18px}.dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:4px}.eyebrow{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.dashboard-heading h1{margin:5px 0 2px;color:var(--ink);font-family:var(--font-display);font-size:clamp(27px,3vw,38px);line-height:1.15;letter-spacing:-.035em}.dashboard-heading p{margin:0;color:var(--ink-muted);font-size:14px}.refresh-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;white-space:nowrap}.panel-heading a svg,.pipeline-flow>svg,.pipeline-link svg,.refresh-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.refresh-button:disabled{cursor:wait;opacity:.65}.refresh-button:disabled svg{animation:spin .8s linear infinite}.pipeline-strip{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(500px,2fr) auto;align-items:center;grid-gap:28px;gap:28px;min-height:94px;padding:18px 22px;color:#f7faff;border:1px solid #284a74;border-radius:var(--radius);background:linear-gradient(116deg,#132d4d,#173e6c 58%,#1d4c7e);box-shadow:0 14px 32px rgba(18,45,77,.13);overflow:hidden;position:relative}.pipeline-strip:after{content:"";position:absolute;width:280px;height:280px;right:-110px;top:-180px;border:1px solid hsla(0,0%,100%,.11);border-radius:50%;box-shadow:0 0 0 38px hsla(0,0%,100%,.025),0 0 0 78px hsla(0,0%,100%,.018);pointer-events:none}.pipeline-intro{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.pipeline-intro>div{display:flex;flex-direction:column}.pipeline-intro strong{font-size:13px}.pipeline-intro span:not(.live-dot){color:#afc3da;font-size:11px;margin-top:2px}.live-dot{width:9px;height:9px;flex:0 0 auto;border:2px solid #7ce0bd;border-radius:50%;background:#20b783;box-shadow:0 0 0 5px rgba(32,183,131,.12)}.pipeline-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;min-width:0}.pipeline-flow>div{display:flex;flex-direction:column;min-width:0;padding:0 16px;border-left:1px solid hsla(0,0%,100%,.12)}.pipeline-flow span{color:#afc3da;font-size:10px;letter-spacing:.03em;white-space:nowrap}.pipeline-flow strong{font-size:17px;margin-top:1px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pipeline-flow>svg{width:13px;color:#6484a5}.pipeline-link{display:inline-flex;align-items:center;gap:5px;color:#fff;font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap;position:relative;z-index:1}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.metric-card{min-width:0;padding:18px 18px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-card)}.metric-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink-muted);font-size:11px;font-weight:750;letter-spacing:.045em;text-transform:uppercase}.metric-card__signal{width:8px;height:8px;border-radius:50%;background:var(--metric-color);box-shadow:0 0 0 4px var(--metric-soft)}.metric-card>strong{display:block;margin-top:12px;color:var(--ink);font-size:clamp(24px,2.4vw,31px);line-height:1;letter-spacing:-.035em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-card p{margin:8px 0 0;color:var(--ink-faint);font-size:11px}.metric-card--blue{--metric-color:var(--chart-blue);--metric-soft:#e6effe}.metric-card--green{--metric-color:var(--success);--metric-soft:var(--success-soft)}.metric-card--amber{--metric-color:var(--amber);--metric-soft:#fff0da}.metric-card--violet{--metric-color:var(--violet);--metric-soft:#eee9fb}.dashboard-grid{display:grid;grid-gap:14px;gap:14px}.dashboard-grid--primary{grid-template-columns:minmax(0,1.55fr) minmax(300px,.9fr)}.dashboard-grid--secondary{grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr)}.dashboard-panel{min-width:0;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-card)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-heading>div{display:flex;flex-direction:column}.panel-heading span{color:var(--ink-faint);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.panel-heading h2{margin:2px 0 0;color:var(--ink);font-size:15px;letter-spacing:-.012em}.panel-heading a{display:inline-flex;align-items:center;gap:4px;color:var(--accent);font-size:11px;font-weight:750;text-decoration:none;white-space:nowrap}.panel-heading a svg{width:15px;height:15px}.trend-chart__summary{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:8px}.trend-chart__summary>div{display:flex;flex-direction:column}.trend-chart__summary span{color:var(--ink-faint);font-size:11px}.trend-chart__summary strong{color:var(--ink);font-size:24px;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.trend-chart__summary .legend{display:inline-flex;align-items:center;gap:6px}.legend i{width:8px;height:8px;border-radius:50%;background:var(--chart-blue)}.trend-chart__plot{display:block;width:100%;height:190px;overflow:visible}.chart-grid{fill:none;stroke:var(--line);stroke-width:.45;stroke-dasharray:2 2}.chart-line{fill:none;stroke:var(--chart-blue);stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.trend-chart__axis{display:flex;justify-content:space-between;color:var(--ink-faint);font-size:10px;margin-top:3px}.chart-empty{display:grid;place-items:center;height:190px;color:var(--ink-faint);font-size:12px}.source-bars{display:flex;flex-direction:column;gap:14px}.source-row{display:grid;grid-template-columns:1fr 64px;align-items:center;grid-gap:4px 12px;gap:4px 12px}.source-row__meta{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;font-size:11px}.source-row__meta strong{color:var(--ink-muted);font-weight:650}.source-row__active,.source-row__meta span{color:var(--ink-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.source-row__track{height:7px;border-radius:99px;background:var(--surface-hover);overflow:hidden}.source-row__track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f70d2,#6c9de5)}.source-row__active{text-align:right;font-size:10px}.top-listings{display:flex;flex-direction:column}.listing-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;min-height:54px;border-top:1px solid var(--line)}.listing-row:first-child{border-top:0}.listing-rank{color:#9cacbf;font:700 10px var(--font-mono)}.listing-row>div:nth-child(2){min-width:0;display:flex;flex-direction:column}.listing-row>div:nth-child(2) strong{overflow:hidden;color:var(--ink);font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.listing-row>div:nth-child(2) span{overflow:hidden;color:var(--ink-faint);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.listing-clicks{display:flex;flex-direction:column;align-items:flex-end}.listing-clicks strong{color:var(--ink);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.listing-clicks span{color:var(--ink-faint);font-size:9px;text-transform:uppercase}.health-score{display:flex;align-items:center;gap:16px;padding:4px 0 18px;border-bottom:1px solid var(--line)}.health-score__ring{width:68px;height:68px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--success) var(--score),#e7ebf1 0);position:relative}.health-score__ring:after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--surface)}.health-score__ring span{z-index:1;color:var(--ink);font-size:14px;font-weight:800}.health-score>div:last-child{display:flex;flex-direction:column;min-width:0}.health-score>div:last-child strong{color:var(--ink);font-size:12px}.health-score>div:last-child span{color:var(--ink-faint);font-size:10px;margin-top:2px}.health-list{padding-top:8px}.health-list>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;min-height:32px;font-size:11px}.health-list strong{overflow:hidden;color:var(--ink-muted);font-weight:650;text-overflow:ellipsis;white-space:nowrap}.health-list>div>span:last-child{color:var(--ink-faint)}.status-dot{width:7px;height:7px;border-radius:50%}.status-dot--ok{background:var(--success)}.status-dot--error{background:var(--warn)}.status-dot--idle{background:#9aa6b5}.empty-copy{margin:18px 0;color:var(--ink-faint);font-size:12px}.dashboard-updated{color:var(--ink-faint);font-size:10px;text-align:right}.inline-alert{padding:10px 12px;border:1px solid #efc6c6;border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn);font-size:12px}.dashboard-error{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ink-muted);text-align:center}.dashboard-error strong{color:var(--ink);font-size:18px}.dashboard-error span{font-size:13px}.dashboard-error button{margin-top:6px;background:var(--accent);color:#fff}.dashboard-skeleton{display:flex;flex-direction:column;gap:14px}.skeleton-block{border-radius:var(--radius);background:linear-gradient(90deg,#e7ebf1 25%,#f4f6f9 50%,#e7ebf1 75%);background-size:200% 100%}.skeleton-wide{height:94px}.skeleton-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.skeleton-card{height:126px}.skeleton-columns{display:grid;grid-template-columns:1.55fr .9fr;grid-gap:14px;gap:14px}.skeleton-panel{height:310px}@keyframes spin{to{transform:rotate(1turn)}}.sidebar-backdrop,.sidebar-toggle{display:none}@media (max-width:860px){.main-content{margin-left:0}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:40;transform:translateX(-100%);transition:transform .2s ease;box-shadow:var(--shadow-raised)}.sidebar.sidebar-open{transform:translateX(0)}.sidebar-toggle{display:inline-flex}.sidebar-backdrop.sidebar-open{display:block;position:fixed;inset:0;background:rgba(14,15,20,.4);z-index:30}.admin-topbar{padding-left:66px}}@media (max-width:1120px){.pipeline-strip{grid-template-columns:1fr auto}.pipeline-flow{grid-column:1/-1;grid-row:2}.pipeline-link{grid-column:2;grid-row:1}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid--primary,.dashboard-grid--secondary{grid-template-columns:1fr}}@media (max-width:680px){.admin-topbar{min-height:60px;padding-right:16px}.admin-topbar__context{display:none}.admin-topbar{justify-content:flex-end}.signed-in__email{display:none}.admin-main{padding:22px 16px 40px}.dashboard-heading{align-items:flex-start}.dashboard-heading p{max-width:38ch}.refresh-button span{display:none}.refresh-button{width:44px;min-height:44px;padding:0}.pipeline-strip{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:18px}.pipeline-flow{grid-template-columns:repeat(2,1fr);gap:12px}.pipeline-flow>div{padding:0 0 0 12px}.pipeline-flow>svg{display:none}.pipeline-link{align-self:flex-start;min-height:36px;align-items:center}.metric-grid,.skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{padding:16px 14px}.metric-card>strong{font-size:25px}.dashboard-panel{padding:17px 15px}.trend-chart__plot{height:160px}.skeleton-columns{grid-template-columns:1fr}}@media (max-width:420px){.metric-grid,.skeleton-grid{grid-template-columns:1fr}.dashboard-heading h1{font-size:28px}.panel-heading{align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}