/* Progress keeps the Formula D1 shell and uses a neutral analytics surface. */
#pageHome { padding-top:0; }
.pd-dashboard { --pd-muted:#91949c; --pd-border:rgba(255,255,255,.09); --pd-positive:#34d399; color:#f4f4f5; padding:8px 0 18px; font-family:inherit; }
.pd-dashboard *,.pd-dashboard *::before,.pd-dashboard *::after { box-sizing:border-box; }
.pd-dashboard :is(h1,h2,h3,p) { margin:0; }
.pd-dashboard :is(button,select) { font:inherit; }
.pd-dashboard button { cursor:pointer; touch-action:manipulation; }
.pd-dashboard button:disabled { cursor:default; opacity:.45; }
.pd-dashboard svg { width:16px; height:16px; flex-shrink:0; }
.pd-dashboard [hidden] { display:none!important; }
.pd-dashboard :is(button,select,input):focus-visible { outline:2px solid #d4d4d8; outline-offset:4px; }
.pd-header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:22px; }
.pd-header h1 { margin:0 0 6px; font-size:30px; letter-spacing:-.045em; font-weight:650; line-height:1.2; }
.pd-header > div > p:last-child { color:var(--pd-muted); font-size:12px; line-height:1.6; }
.pd-header-controls { display:flex; align-items:center; gap:8px; flex-shrink:0; margin-left:auto; }
.pd-dashboard .pd-glass { min-width:0; background:#111215; border:1px solid var(--pd-border); border-radius:11px; box-shadow:0 1px 2px #0002; }
.pd-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.pd-metric { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:12px; row-gap:10px; padding:18px 18px 15px; min-height:142px; animation:pd-enter .4s both; animation-delay:calc(var(--card-index) * 35ms); transition:border-color .2s,background .2s; }
.pd-dashboard .pd-metric { background:#111215; border-color:var(--pd-border); }
.pd-dashboard .pd-metric::before,.pd-dashboard .pd-metric::after { content:none!important; display:none!important; background:none!important; box-shadow:none!important; }
.pd-metric:hover { background:#151619; border-color:#ffffff24; }
.pd-metric-heading { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.pd-metric-heading h2 { font-size:12px; color:#a1a1aa; font-weight:500; line-height:1.5; letter-spacing:-.01em; }
.pd-metric-heading svg { width:14px; height:14px; color:#8b9099; }
.pd-stat-line { display:flex; align-items:center; gap:8px; margin:0; min-width:0; align-self:center; }
.pd-stat-line > strong { font-size:34px; line-height:1.1; font-weight:600; letter-spacing:-.05em; color:#fafafa; font-variant-numeric:tabular-nums; }
.pd-trend { display:flex; flex-direction:column-reverse; align-items:center; justify-content:flex-end; gap:6px; min-width:0; color:var(--pd-positive); }
.pd-dashboard .pd-sparkline { display:block; width:100%; max-width:none; height:68px; overflow:visible; }
.pd-sparkline .pd-spark-stroke { fill:none; stroke:var(--pd-positive); stroke-width:1.9; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1000; animation:pd-draw 1.1s cubic-bezier(.16,1,.3,1) both; }
.pd-change { display:flex; align-items:center; gap:4px; color:var(--pd-positive); font-size:15px; font-weight:550; letter-spacing:-.025em; line-height:1.25; font-variant-numeric:tabular-nums; white-space:nowrap; }
.pd-change > svg { width:15px; height:15px; }
.pd-change.negative > svg { transform:rotate(90deg); }
.pd-change.positive { color:var(--pd-positive); }
.pd-activity { padding:20px 20px 12px; margin-bottom:16px; animation:pd-enter .45s both; }
.pd-section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.pd-section-head h2 { font-size:14px; font-weight:600; line-height:1.4; letter-spacing:-.02em; }
.pd-section-head p { margin-top:4px; font-size:11px; color:var(--pd-muted); line-height:1.6; }
.pd-activity > .pd-section-head { align-items:flex-start; flex-wrap:wrap; gap:16px 24px; margin-bottom:20px; }
.pd-chart-controls { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:18px; }
.pd-legend { display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; padding-top:3px; }
.pd-legend > span { display:flex; align-items:center; gap:7px; color:#b1b1bb; font-size:11px; line-height:1.5; white-space:nowrap; }
.pd-swatch { display:inline-block; width:8px; height:8px; flex:0 0 8px; border-radius:3px; background:#f4f4f5; }
.pd-activity .pd-swatch-opens { background:#34d399; }
.pd-activity .pd-swatch-film { background:#a78bfa; }
.pd-range-switch { display:flex; gap:2px; padding:3px; border:1px solid #ffffff12; border-radius:9px; background:#ffffff05; }
.pd-range-switch button { min-width:58px; min-height:32px; padding:0 10px; border:0; border-radius:6px; background:transparent; color:#858a94; font-size:10px; font-weight:550; transition:color .18s,background .18s,box-shadow .18s; }
.pd-range-switch button[aria-pressed="true"] { color:#f4f4f5; background:#ffffff12; box-shadow:inset 0 1px 0 #ffffff12; }
.pd-range-switch button:hover { color:#fff; }
.pd-chart-wrap { position:relative; min-width:0; }
.pd-dashboard .pd-chart { width:100%; height:280px; display:block; overflow:visible; touch-action:pan-y; cursor:pointer; user-select:none; -webkit-user-select:none; }
.pd-chart text { fill:#858a94; font-size:10px; font-family:inherit; }
.pd-grid { stroke:#ffffff0d; stroke-width:1; vector-effect:non-scaling-stroke; }
.pd-bar-group { cursor:pointer; opacity:1; transition:opacity .2s ease; }
.pd-chart.has-active .pd-bar-group:not(.is-active) { opacity:.28; }
.pd-chart .pd-bar-group:focus,.pd-chart .pd-bar-group:focus-visible { outline:0!important; }
.pd-bar-group:focus-visible .pd-bar-stack { filter:drop-shadow(0 0 3px #ffffff73); }
.pd-bar-hit { fill:transparent; pointer-events:all; }
.pd-bar-stack { transform-box:fill-box; transform-origin:center bottom; animation:pd-bar-rise .72s cubic-bezier(.2,.8,.2,1) both; animation-delay:calc(var(--bar-index) * 12ms); }
.pd-bar-segment { transition:filter .18s ease; }
.pd-bar-sent { fill:#f4f4f5; }
.pd-bar-opens { fill:#34d399; }
.pd-bar-film { fill:#a78bfa; }
.pd-bar-group.is-active .pd-bar-segment { filter:brightness(1.16); }
.pd-chart .pd-zero-title { fill:#dedee2; font-size:14px; font-weight:500; }
.pd-chart .pd-zero-copy { fill:#92959e; font-size:11px; }
.pd-tooltip { position:absolute; z-index:2; pointer-events:none; width:220px; max-width:calc(100% - 16px); padding:13px 14px; border:1px solid #ffffff20; border-radius:13px; background:rgba(20,21,25,.94); backdrop-filter:blur(20px) saturate(120%); -webkit-backdrop-filter:blur(20px) saturate(120%); box-shadow:0 16px 40px #0007,inset 0 1px 0 #ffffff0b; font-size:12px; animation:pd-tooltip-in .16s ease-out; transition:left .12s ease-out; }
.pd-tooltip-date { display:flex; justify-content:space-between; align-items:center; gap:8px; color:#f4f4f5; padding-bottom:10px; margin-bottom:10px; border-bottom:1px solid #ffffff10; font-size:12px; font-weight:550; }
.pd-tooltip-date > span { min-width:0; line-height:1.5; }
.pd-tooltip-date small { color:#858a94; font-size:10px; font-weight:400; }
.pd-tooltip > div { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:10px; }
.pd-tooltip > div > span { display:flex; align-items:center; gap:8px; color:#a1a1aa; font-size:11px; }
.pd-tooltip strong { color:#fafafa; font-weight:600; font-variant-numeric:tabular-nums; }
.pd-chart-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-top:6px; border-top:1px solid #ffffff08; color:#858a94; font-size:10px; line-height:1.5; }
.pd-detail-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; align-items:start; }
.pd-looking { grid-column:1; overflow:hidden; align-self:stretch; }
.pd-looking > .pd-section-head { padding:18px 18px 0; }
.pd-table { width:100%; border-collapse:collapse; text-align:left; table-layout:fixed; }
.pd-table th { padding:9px 8px; border-block:1px solid #ffffff0a; color:#858a94; background:#ffffff02; font-size:10px; font-weight:500; white-space:nowrap; }
.pd-table th:first-child { width:43%; padding-left:18px; }
.pd-table th:nth-child(2),.pd-table th:nth-child(3) { width:11%; }
.pd-table th:nth-child(4) { width:16%; }
.pd-table th:last-child { width:19%; }
.pd-table td { padding:14px 8px; border-bottom:1px solid #ffffff09; color:#a1a1aa; font-size:10px; vertical-align:middle; }
.pd-table td:first-child { padding-left:18px; }
.pd-table tr:last-child td { border-bottom:0; }
.pd-table tbody tr { transition:background .16s; }
.pd-table tbody tr:hover { background:#ffffff05; }
.pd-table td[data-label] > strong { color:#dddfe4; font-size:12px; font-weight:500; font-variant-numeric:tabular-nums; }
.pd-school { display:flex; align-items:center; gap:10px; min-width:0; }
.pd-school > div { min-width:0; }
.pd-school strong { display:block; color:#e9e9ec; font-size:11px; line-height:1.5; font-weight:550; overflow-wrap:anywhere; }
.pd-school span:not(.pd-logo) { display:block; color:#a1a1aa; font-size:10px; line-height:1.5; margin-top:2px; overflow-wrap:anywhere; }
.pd-school small { display:block; color:#8a909b; font-size:10px; line-height:1.5; overflow-wrap:anywhere; }
.pd-logo { display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px; border:1px solid #ffffff0c; border-radius:7px; background:#ffffff04; padding:4px; }
.pd-logo img { display:block; width:100%!important; height:100%!important; object-fit:contain; }
.pd-last time { font-size:10px; white-space:nowrap; color:#858a94; }
.pd-follow { text-align:right; padding-right:16px!important; }
.pd-dashboard .pd-follow button { min-height:32px; padding:0 8px; gap:5px; font-size:10px; border-radius:6px; }
.pd-follow svg { width:12px; height:12px; }
.pd-table-footer { padding:13px 18px; display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid #ffffff09; color:#858a94; font-size:10px; }
.pd-table-footer:has(> span:empty):has(> button[hidden]) { display:none; }
.pd-dashboard :is(.pd-button,.pd-quiet,.pd-text) { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:36px; padding:0 12px; border:1px solid #ffffff1c; border-radius:7px; background:#1c1e22; color:#e4e4e7; font-size:11px; font-weight:500; text-decoration:none; transition:background .18s,border-color .18s,transform .18s; }
.pd-dashboard .pd-button:hover:not(:disabled),.pd-dashboard .pd-quiet:hover:not(:disabled) { background:#292c31; border-color:#ffffff32; }
.pd-dashboard :is(.pd-button,.pd-quiet):active:not(:disabled) { transform:translateY(1px); }
.pd-dashboard .pd-text { padding:0; min-height:30px; background:none; border:0; color:#a1a1aa; font-size:10px; white-space:nowrap; }
.pd-dashboard .pd-text:hover { color:#fff; }
.pd-text svg { width:12px; height:12px; }
.pd-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:36px 20px; min-height:260px; text-align:center; }
.pd-empty > svg { width:22px; height:22px; color:#8b9099; margin-bottom:5px; }
.pd-empty h3 { font-size:13px; font-weight:550; color:#dddfe4; }
.pd-empty p { max-width:270px; color:#8b909a; font-size:11px; line-height:1.8; }
.pd-empty button { margin-top:5px; }
.pd-status { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; color:#a1a1aa; font-size:11px; line-height:1.6; }
.pd-status:empty { display:none; }
.pd-page-footer { display:flex; justify-content:space-between; gap:24px; margin-top:18px; color:#858b96; font-size:10px; line-height:1.8; }
.pd-page-footer p { max-width:620px; }
.pd-page-footer > span { flex-shrink:0; }
.pd-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@keyframes pd-enter { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@keyframes pd-draw {
  from { stroke-dashoffset:1000; stroke-dasharray:1000; }
  99% { stroke-dashoffset:0; stroke-dasharray:1000; }
  to { stroke-dashoffset:0; stroke-dasharray:none; }
}
@keyframes pd-tooltip-in { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
@keyframes pd-bar-rise { from { transform:scaleY(.02); opacity:.5; } to { transform:scaleY(1); opacity:1; } }
@media (max-width:1150px) {
  .pd-table th:first-child { width:38%; }
  .pd-table th:nth-child(2),.pd-table th:nth-child(3) { width:12%; }
  .pd-table th:last-child { width:22%; }
  .pd-logo { width:28px; height:28px; flex-basis:28px; }
}
@media (max-width:950px) {
  .pd-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pd-detail-grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .pd-looking { grid-column:auto; grid-row:auto; }
}
@media (max-width:600px) {
  .pd-dashboard { padding-top:4px; }
  .pd-header { flex-wrap:wrap; gap:15px; margin-bottom:16px; }
  .pd-header h1 { font-size:27px; }
  .pd-header > div > p:last-child { font-size:11px; }
  .pd-header-controls { justify-content:flex-end; width:100%; gap:8px; }
  .pd-dashboard :is(.pd-button,.pd-quiet,.pd-text) { min-height:44px; }
  .pd-metrics { gap:10px; margin-bottom:12px; }
  .pd-metric { padding:15px 13px 12px; min-height:132px; }
  .pd-metric-heading { align-items:flex-start; gap:5px; min-height:17px; }
  .pd-metric-heading h2 { font-size:11px; }
  .pd-metric-heading svg { width:12px; height:12px; }
  .pd-stat-line { gap:5px; }
  .pd-stat-line > strong { font-size:27px; }
  .pd-dashboard .pd-sparkline { height:56px; }
  .pd-trend { gap:6px; }
  .pd-change { font-size:14px; gap:3px; }
  .pd-activity { padding:16px 13px 10px; margin-bottom:12px; }
  .pd-activity .pd-section-head { align-items:flex-start; flex-direction:column; gap:15px; margin-bottom:18px; }
  .pd-chart-controls { width:100%; justify-content:space-between; gap:12px; }
  .pd-legend { gap:10px 16px; }
  .pd-legend > span { font-size:10px; gap:5px; }
  .pd-dashboard .pd-chart { height:250px; }
  .pd-range-switch button { min-width:58px; min-height:44px; }
  .pd-chart text { font-size:10px; }
  .pd-chart-footer { font-size:10px; }
  .pd-detail-grid { gap:12px; }
  .pd-looking > .pd-section-head { padding:16px 16px 0; gap:8px; }
  .pd-section-head h2 { font-size:14px; }
  .pd-section-head p { font-size:10px; }
  .pd-looking .pd-section-head .pd-text { font-size:10px; }
  .pd-table,.pd-table tbody { display:block; }
  .pd-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .pd-table tbody tr { display:grid; grid-template-columns:1fr 1fr 1.1fr; gap:12px 8px; padding:16px; border-bottom:1px solid #ffffff09; }
  .pd-table tr:last-child { border-bottom:0; }
  .pd-table td { border:0; padding:0!important; min-width:0; }
  .pd-table td:first-child { grid-column:1 / span 2; }
  .pd-school { gap:9px; }
  .pd-school strong { font-size:11px; }
  .pd-school small { font-size:10px; }
  .pd-logo { width:30px; height:30px; flex-basis:30px; }
  .pd-table td[data-label] { grid-row:2; display:flex; flex-direction:column; gap:3px; padding-left:39px!important; }
  .pd-table td[data-label]::before { content:attr(data-label); color:#858a94; font-size:10px; }
  .pd-table td[data-label="Film Views"] { padding-left:0!important; }
  .pd-table .pd-last { grid-column:3; grid-row:1; text-align:right; align-self:start; padding-top:2px!important; }
  .pd-table .pd-last time { font-size:10px; }
  .pd-table .pd-follow { grid-column:3; grid-row:2; align-self:end; }
  .pd-dashboard .pd-follow button { min-height:44px; font-size:10px; padding:0 7px; }
  .pd-follow svg { width:11px; height:11px; }
  .pd-table-footer { padding:12px 16px; font-size:10px; }
  .pd-page-footer { flex-direction:column; gap:4px; font-size:10px; margin-top:15px; }
}
@media (max-width:360px) {
  .pd-stat-line > strong { font-size:23px; }
  .pd-legend { gap:12px; }
  .pd-looking .pd-section-head { align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) {
  .pd-dashboard *,.pd-dashboard *::before,.pd-dashboard *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .pd-sparkline path { stroke-dasharray:none; }
  .pd-bar-stack { animation:none; transform:none; }
}
@media (forced-colors:active) {
  .pd-dashboard :is(.pd-glass,.pd-button,.pd-quiet,.pd-range-switch) { border-color:CanvasText; background:Canvas; color:CanvasText; }
  .pd-bar-sent,.pd-bar-opens,.pd-bar-film { fill:CanvasText; }
  .pd-grid { stroke:GrayText; }
}

/* Layered metric charts retain the actual cumulative activity shape. */
.pd-sparkline .pd-spark-area { stroke:none; animation:none; }
.pd-spark-baseline { stroke:currentColor; stroke-opacity:.12; stroke-dasharray:2 4; }
.pd-spark-halo { fill:currentColor; opacity:.14; }
.pd-spark-dot { fill:currentColor; }

.pd-bulkbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;color:#a1a1aa;font-size:12px;border-bottom:1px solid #ffffff0a}.pd-bulkbar .pd-button{min-height:34px;padding:0 12px}.pd-bulkbar .pd-button:disabled{opacity:.45;cursor:not-allowed}.pd-select{display:flex;align-items:center;margin-right:8px}.pd-select input{width:16px;height:16px;accent-color:#34d399;cursor:pointer}.pd-table tr.is-selected{background:#34d3990d}.pd-school{display:flex;align-items:center}
