/* Passage v2: brand primitives -> semantic app tokens -> components.
   Theme and navigation behavior remain owned by the existing shared shell. */
:root{
 --passage-forest:#123C35;--passage-sage:#ACDDB9;--passage-pale:#EDF3EE;
 --passage-mist:#F9FBF9;--passage-ink:#142B27;--passage-muted:#52665F;
 --sr-font:"DejaVu Sans",system-ui,sans-serif;--sr-accent:var(--passage-sage);
 --sr-lime:var(--passage-sage);--sr-radius:12px;--sr-space:8px;
 --canvas:var(--passage-mist);--surface:#fff;--surface-raised:var(--passage-mist);
 --surface-sunken:var(--passage-pale);--text:var(--passage-ink);--text-secondary:var(--passage-muted);
 --accent:var(--passage-forest);--accent-ink:var(--passage-forest);--accent-soft:var(--passage-pale);
 --focus:var(--passage-forest);--desk-radius:12px;
 --button-primary-bg:var(--passage-sage);--button-primary-ink:var(--passage-forest);
}
html[data-theme=dark]{
 --canvas:#101816;--surface:#19231f;--surface-raised:#202e27;--surface-sunken:#132019;
 --text:#e6eee8;--text-secondary:#a1b6a9;--accent:var(--passage-sage);
 --accent-ink:var(--passage-sage);--accent-soft:#243d2c;--focus:var(--passage-sage);
}
body{font-family:var(--sr-font);font-size:16px;line-height:1.5}
.primary,.primary:hover{background:var(--button-primary-bg);color:var(--button-primary-ink);border-color:var(--button-primary-bg)}
.primary:hover{box-shadow:inset 0 0 0 2px var(--passage-forest)}
button,.button,input,select,textarea{border-radius:8px}
.panel,.dashboard-command{border-radius:20px}
.video-card,.metrics,.network-shortcut{border-radius:12px}
.page-heading h1{font-size:28px;letter-spacing:-.03em;font-weight:700}
.panel>h2,.section-heading h2{font-size:18px;font-weight:700}
.sidebar nav a{font-size:14px}.sidebar .signature{font-size:12px}
.page-heading p,.field-help,.helptext{font-size:14px;line-height:1.5}
.sidebar .brand-full{width:180px;height:44px;object-fit:contain}
.mobile-bar>a:not(.icon-button)>img{width:180px;height:44px;object-fit:contain}
.login-logo{width:260px;max-width:100%;height:auto}
html[data-theme=dark] .primary img{filter:brightness(0)}
@media(min-width:1001px){html[data-nav=collapsed] .sidebar .brand-symbol{width:36px;height:44px;object-fit:contain}}
@media(max-width:1000px){.sidebar .brand-full,html[data-nav=collapsed] .sidebar .brand-full{width:180px;height:44px}}
@media(max-width:650px){.page-heading h1{font-size:24px}.panel,.dashboard-command{border-radius:16px}}

/* Cover selection: wide, touch-friendly timeline below the real video frame. */
.cover-scrubber {width:100%;text-align:left;padding:16px 0}
.cover-timeline-label {display:flex;justify-content:space-between;align-items:center;gap:16px}
.cover-timeline-label label {margin:0}
.cover-timeline-label output {font-variant-numeric:tabular-nums;white-space:nowrap}
.cover-scrubber input[type=range] {display:block;width:100%;min-height:44px;padding:0;margin:8px 0;cursor:ew-resize;accent-color:var(--color-primary,#123c35);touch-action:pan-y}
.cover-scrubber input[type=range]:focus-visible {outline:2px solid currentColor;outline-offset:4px}
.cover-scrubber input[type=range]:disabled {cursor:wait;opacity:.5}
.cover-scrubber [data-cover-loading]:empty {display:none}

.dashboard-analytics {margin:28px 0}
.dashboard-analytics-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:24px;align-items:start}
.dashboard-analytics-grid .panel {min-width:0}
.dashboard-profile-stat,.dashboard-post-stat {padding:18px 0;border-bottom:1px solid var(--border,#cbd8ce)}
.dashboard-profile-stat:last-child,.dashboard-post-stat:last-of-type {border-bottom:0}
.dashboard-profile-stat small,.dashboard-post-identity small {display:block;margin-top:6px}
.dashboard-profile-numbers,.dashboard-video-numbers {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.dashboard-video-numbers {grid-template-columns:repeat(4,minmax(0,1fr))}
.dashboard-analytics dt {font-size:12px;opacity:.75}
.dashboard-analytics dd {margin:4px 0 0;font-size:21px;font-weight:600;font-variant-numeric:tabular-nums}
.dashboard-sync {font-size:12px;margin-bottom:0}
.dashboard-post-identity {display:flex;align-items:center;gap:14px;text-decoration:none}
.dashboard-post-identity>span {min-width:0;overflow-wrap:anywhere}
.dashboard-post-identity>img {width:58px;height:76px;object-fit:cover;border-radius:6px;flex-shrink:0}
@media(max-width:1100px){.dashboard-analytics-grid {grid-template-columns:1fr}}
@media(max-width:480px){.dashboard-video-numbers {grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-analytics>.section-heading {align-items:flex-start;flex-direction:column}}
