/* Shared workspace polish and live creation / notification surfaces. */
:root { --border: var(--line, #30303b); }
.topbar { position: sticky; top: 0; z-index: 30; background: rgba(16,17,23,.96); backdrop-filter: blur(12px); }
.topbar > .row { flex-wrap: nowrap; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid #c2b2ff; outline-offset: 4px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#notification-center { position:relative; flex-shrink:0; }
.notification-bell { position:relative; display:grid; place-items:center; width:42px; height:42px; padding:10px; background:#1e1e28; color:#e6e0ff; border:1px solid #35323f; border-radius:13px; }
.notification-bell:hover,.notification-bell[aria-expanded=true] { background:#302a43; border-color:#a697e1; }
.notification-bell svg { width:21px; height:21px; }
.notification-count { position:absolute; right:-5px; top:-5px; min-width:19px; height:19px; padding:0 4px; border-radius:20px; background:#b29bff; color:#14101e; border:2px solid #101117; font-size:10px; line-height:15px; font-weight:800; }
.notification-panel { position:absolute; right:0; top:54px; width:min(440px,calc(100vw - 32px)); max-height:calc(100dvh - 106px); display:flex; flex-direction:column; background:#191921; border:1px solid #45404f; border-radius:19px; box-shadow:0 24px 90px #0009; overflow:hidden; }
.notification-panel header { display:flex; align-items:center; justify-content:space-between; padding:22px 22px 14px; }
.notification-panel h2 { font-size:21px; margin:6px 0 0; }
.notification-panel h2 span { color:#b3a3dc; font-size:13px; margin-left:5px; }
.notification-panel .eyebrow { font-size:9px; }
.notification-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 22px 16px; border-bottom:1px solid #30303b; }
.notification-toolbar > div { display:flex; gap:6px; }
.notification-list { overflow-y:auto; overscroll-behavior:contain; min-height:120px; }
.notification-item { display:grid; grid-template-columns:30px minmax(0,1fr); gap:12px; padding:18px 22px; border-bottom:1px solid #ffffff09; }
.notification-item.is-unread { background:#ac96ff0a; }
.notification-item a { color:#f4f0fc; text-decoration:none; display:block; }
.notification-item a:hover strong { color:#c9b9ff; }
.notification-item strong { font-size:13px; font-weight:650; line-height:1.5; }
.notification-item p { font-size:12px; line-height:1.7; color:#a8a6b7; margin:5px 0 9px; overflow-wrap:anywhere; }
.notification-symbol { width:28px; height:28px; display:grid; place-items:center; border-radius:9px; background:#b49cff20; color:#ccbaff; }
.notification-symbol.warning,.notification-symbol.critical { background:#e5ab4620; color:#efbf69; }
.notification-symbol.error { background:#f17b8220; color:#ffa4aa; }
.notification-item-meta { display:flex; flex-wrap:wrap; gap:10px; align-items:center; font-size:10px; color:#8f8c9f; }
.notification-item-meta .text-button { font-size:11px; padding:0; }
.notification-panel footer { padding:14px 22px; border-top:1px solid #30303b; display:flex; flex-wrap:wrap; align-items:center; gap:10px; justify-content:space-between; font-size:10px; color:#aaa5bb; }
.notification-panel footer a { font-size:11px; }
.notification-empty { text-align:center; padding:30px 24px; color:#aba7bb; font-size:12px; }
.notification-empty > span { color:#b3a0fc; font-size:24px; }
.notification-empty h3 { font-size:15px; color:#eee9fa; margin:12px 0 8px; }
.notification-empty p { line-height:1.7; margin:0; }
.notification-new { border-radius:0; background:#b59dff18; color:#cfc0ff; font-size:12px; padding:12px; }
.notification-error { padding:14px 22px; font-size:12px; color:#efbf69; }
.notification-preview { position:absolute; right:0; top:54px; width:270px; text-align:left; padding:17px 20px; background:#272132; color:#fff; border:1px solid #6e608d; box-shadow:0 12px 35px #0007; }
.notification-preview small { display:block; margin-top:7px; color:#c4b5e6; }
.creation-queue { margin-top:42px; padding-top:32px; border-top:1px solid var(--border); scroll-margin-top:110px; }
.creation-heading { display:flex; gap:20px; align-items:center; justify-content:space-between; margin-bottom:24px; }
.creation-heading h2 { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:10px 0 7px; font-size:25px; }
.creation-heading p { margin:0; color:#a7a3b7; font-size:13px; }
.creation-live { font-size:10px; color:#b6a7e6; background:#b69cff12; padding:6px 9px; border:1px solid #b69cff20; border-radius:20px; font-weight:500; }
.creation-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.creation-filters button { display:flex; align-items:center; gap:9px; border:1px solid #30303b; padding:10px 14px; background:#191921; color:#a7a3b7; font-size:12px; border-radius:11px; }
.creation-filters button.active { color:#e6dbff; background:#2d253d; border-color:#8e77c3; }
.creation-filters span { background:#ffffff0c; border-radius:6px; padding:2px 6px; font-size:10px; }
.creation-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.creation-item { display:flex; gap:18px; padding:18px; border:1px solid #30303b; border-radius:17px; background:linear-gradient(135deg,#1c1b25,#181920); min-width:0; }
.creation-media { flex:0 0 90px; height:160px; background:#101117; border:1px solid #35303f; border-radius:11px; overflow:hidden; }
.creation-media video,.creation-media img { width:100%; height:100%; object-fit:contain; display:block; }
.creation-placeholder { display:grid; place-items:center; height:100%; color:#ad95ef; font-size:28px; background:radial-gradient(ellipse at center,#a593dc18,transparent); }
.creation-placeholder.is-generating { animation:creation-glow 2.5s ease-in-out infinite; }
.creation-info { min-width:0; flex:1; display:flex; flex-direction:column; }
.creation-info .eyebrow { font-size:8px; letter-spacing:1.5px; }
.creation-info .pill { font-size:9px; }
.creation-info h3 { font-size:15px; margin:13px 0 5px; line-height:1.45; overflow-wrap:anywhere; }
.creation-meta { font-size:10px; color:#9691a7; line-height:1.6; }
.creation-message { color:#b0aabc; font-size:12px; line-height:1.7; margin:10px 0 14px; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.creation-actions { margin-top:auto; gap:8px; flex-wrap:wrap; }
.creation-actions button,.creation-actions a { font-size:11px; }
.creation-empty { grid-column:1/-1; padding:44px 24px; border:1px dashed #393443; border-radius:17px; text-align:center; }
.creation-empty > span { font-size:24px; color:#bca4ff; }
.creation-empty h3 { font-size:16px; margin:16px 0 8px; }
.creation-empty p { color:#a7a1b5; font-size:12px; line-height:1.7; }
.creation-more { display:flex; flex-direction:column; align-items:center; gap:12px; margin-top:22px; }
.creation-more small { color:#a7a1b5; }
@keyframes creation-glow { 50% { opacity:.45; } }
@media(max-width:1100px) { .creation-list { grid-template-columns:1fr; } }
@media(max-width:600px) {
  .topbar { padding:14px 16px; gap:10px; backdrop-filter:none; }
  .topbar > .row { gap:12px; }
  .topbar > .row > .pill { display:none; }
  .notification-panel { position:fixed; right:16px; top:16px; max-height:calc(100dvh - 32px); }
  .notification-item { padding:16px; }
  .notification-toolbar { padding:0 16px 14px; }
  .notification-toolbar button,.notification-panel header button { min-height:40px; }
  .creation-heading { align-items:flex-start; flex-direction:column; gap:16px; }
  .creation-item { padding:14px; gap:14px; }
  .creation-media { flex-basis:76px; height:135px; }
  .creation-info > .row { gap:8px; flex-wrap:wrap; }
  .creation-filters { gap:6px; }
  .creation-filters button { padding:10px 11px; min-height:42px; }
  .creation-actions button,.creation-actions a { min-height:40px; }
}
@media(prefers-reduced-motion:reduce) { .creation-placeholder.is-generating { animation:none; } }

/* Media is chosen by sight, with the original form field retained underneath. */
.media-native-select { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:0!important; border:0!important; opacity:0; pointer-events:none; clip-path:inset(50%); }
.media-selection { padding:12px; border:1px solid #383440; border-radius:12px; background:#121218; margin:8px 0 16px; min-width:0; }
.media-selected-items { display:grid; gap:12px; }
.media-selected-card { display:flex; gap:14px; min-width:0; align-items:center; }
.media-selected-card > div { min-width:0; }
.media-selected-card strong { display:block; font-size:12px; line-height:1.55; overflow-wrap:anywhere; }
.media-selected-card small { display:block; color:#a5a0b4; font-size:10px; margin:5px 0; line-height:1.5; }
.media-selected-card .text-button { font-size:11px; padding:4px 0; }
.media-thumb { display:block; position:relative; background:#0b0c11; overflow:hidden; border-radius:8px; }
.media-selected-card .media-thumb { flex:0 0 64px; width:64px; height:90px; }
.media-thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; display:block; }
.media-thumb-fallback { position:absolute; inset:0; display:grid; place-items:center; font-size:28px; color:#9483b6; background:radial-gradient(ellipse,#292334,#101015); }
.media-thumb img.media-thumb-missing { visibility:hidden; }
.media-selection-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.media-selection-empty { display:flex; gap:12px; align-items:center; color:#aaa3b8; font-size:12px; padding:8px 0; }
.media-selection-empty > span:first-child { font-size:26px; color:#b2a0f5; }
.media-picker-dialog { width:min(880px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 40px); padding:0; border:1px solid #48404f; border-radius:20px; color:#eeeaf4; background:#18191f; overflow:hidden; }
.media-picker-dialog[open] { display:flex; flex-direction:column; }
.media-picker-dialog::backdrop { background:#05060bd9; backdrop-filter:blur(5px); }
.media-picker-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:24px 28px 0; flex-shrink:0; }
.media-picker-header h2 { font-size:24px; margin:8px 0; }
.media-picker-header p { font-size:12px; color:#aaa5b7; margin:0 0 18px; }
.media-picker-header > button { padding:4px 10px; font-size:24px; }
.media-picker-dialog [hidden] { display:none!important; }
.media-picker-dialog [data-media-browser] { min-height:0; display:flex; flex-direction:column; }
.media-picker-filters { display:flex; align-items:flex-end; gap:10px; padding:0 28px 18px; margin:0; flex-shrink:0; }
.media-picker-filters label { display:block; flex:1; min-width:0; font-size:10px; margin:0; color:#bbb4c8; }
.media-picker-filters label:first-child { flex:2; }
.media-picker-filters input,.media-picker-filters select { margin:6px 0 0; width:100%; height:40px; font-size:12px; padding:8px 10px; }
.media-picker-filters button { height:40px; }
.media-picker-body { min-height:120px; overflow-y:auto; overscroll-behavior:contain; padding:0 28px 24px; }
.media-picker-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.media-picker-card { position:relative; min-width:0; border:1px solid #35323e; border-radius:12px; background:#121319; padding:7px; }
.media-picker-card.selected { border-color:#b29bff; box-shadow:0 0 0 1px #b29bff; background:#242030; }
.media-picker-pick { display:block; position:relative; width:100%; min-width:0; padding:0; background:transparent; color:#eeeaf4; border:0; text-align:left; border-radius:8px; }
.media-picker-pick:hover { background:transparent; transform:none; }
.media-picker-pick .media-thumb { width:100%; aspect-ratio:3/4; }
.media-picker-pick strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:11px; line-height:1.55; font-weight:600; margin:10px 3px 5px; overflow-wrap:anywhere; min-height:34px; }
.media-picker-pick small { display:block; color:#a8a0b7; font-weight:400; font-size:9px; margin:0 3px 8px; line-height:1.5; }
.media-picker-badge { position:absolute; top:8px; left:8px; padding:4px 7px; background:#070810db; color:#f4f0fb; border-radius:6px; font-size:10px; font-weight:500; }
.media-picker-check { position:absolute; top:8px; right:8px; width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:#b29bff; color:#181022; }
.media-picker-play { width:100%; font-size:10px; padding:8px; }
.media-picker-empty { text-align:center; color:#aca5b9; padding:30px 10px; font-size:13px; }
.media-picker-more { display:block; margin:20px auto 0; }
.media-picker-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #35323e; background:#1d1b25; padding:16px 28px; margin:0; flex-shrink:0; }
.media-picker-footer > span { font-size:11px; color:#b4aabb; }
.media-picker-footer .row { gap:8px; flex-wrap:wrap; }
.media-picker-preview { min-height:0; overflow-y:auto; padding:0 28px 24px; }
.media-picker-player { display:flex; justify-content:center; margin:16px 0; border-radius:12px; background:#0b0b10; overflow:hidden; }
.media-picker-player video,.media-picker-player img { display:block; width:100%; height:min(48dvh,460px); object-fit:contain; }
.media-picker-preview h3 { font-size:15px; margin:0; overflow-wrap:anywhere; }
.media-picker-preview p { font-size:11px; margin:5px 0; }
.media-picker-preview > .row { flex-wrap:wrap; gap:14px; }
.post-source-preview { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin:18px 0; padding:14px; background:#111218; border:1px solid #34313c; border-radius:12px; }
.post-source-preview video,.post-source-preview img { display:block; width:130px; height:200px; object-fit:contain; border-radius:8px; background:#08090c; }
.post-source-preview p { flex:1; min-width:120px; overflow-wrap:anywhere; }
.clip-row { align-items:start; }
.clip-row > div:first-child { min-width:0; }
.clip-row .media-selection { margin-bottom:0; }
.clip-row > button { margin-top:28px; }
.media-picker-dialog button:focus-visible,.media-selection button:focus-visible { outline:2px solid #c2afff; outline-offset:3px; }
.account-visual-check { margin:24px 0; padding:20px; border:1px solid #3a3248; border-radius:16px; background:linear-gradient(145deg,#25202f,#15161d); }
.account-visual-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:20px; }
.account-visual-heading h3 { margin:8px 0 0; font-size:21px; }
.account-snapshot { max-width:340px; margin:0 auto 20px; }
.account-snapshot a { display:block; border:1px solid #40374c; border-radius:12px; overflow:hidden; background:#101116; }
.account-snapshot img { display:block; width:100%; height:auto; }
.account-snapshot figcaption { font-size:10px; line-height:1.65; color:#aaa3b8; margin-top:10px; }
.account-snapshot-empty { display:flex; align-items:center; flex-direction:column; padding:30px 14px; border:1px dashed #51405f; border-radius:12px; text-align:center; }
.account-snapshot-empty > span { color:#b5a0fa; font-size:32px; margin-bottom:10px; }
.account-snapshot-empty strong { font-size:14px; }
.account-snapshot-empty p { font-size:12px; margin-bottom:0; }
.account-visual-actions { display:flex; flex-wrap:wrap; gap:9px; margin:18px 0; }
.account-visual-verdict { margin-top:22px; padding-top:20px; border-top:1px solid #3c3349; }
.account-visual-verdict h3 { margin:12px 0; font-size:18px; line-height:1.45; }
.account-visual-verdict p { font-size:12px; line-height:1.7; }
.account-visual-verdict ul { margin:12px 0 20px; padding-left:18px; }
.account-visual-verdict li { font-size:12px; margin:12px 0; }
.account-visual-scores { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin:18px 0 10px; }
.account-visual-scores > div { padding:10px 6px; background:#111218; border:1px solid #34303d; border-radius:9px; text-align:center; }
.account-visual-scores span { display:block; font-size:9px; color:#a9a0b9; text-transform:capitalize; }
.account-visual-scores strong { display:block; color:#c9baff; font-size:16px; margin-top:8px; }
.account-visual-verdict > small { font-size:10px; color:#aaa0b9; }
.audience-report > .account-snapshot { margin:24px auto; }
@media(max-width:600px) {
  .media-picker-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:16px; }
  .media-picker-header { padding:18px 16px 0; }
  .media-picker-header h2 { font-size:21px; }
  .media-picker-filters { padding:0 16px 14px; flex-wrap:wrap; gap:8px; }
  .media-picker-filters label:first-child { flex-basis:100%; }
  .media-picker-filters button { padding:8px 12px; }
  .media-picker-body { padding:0 16px 18px; }
  .media-picker-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .media-picker-footer { padding:12px 16px; flex-wrap:wrap; }
  .media-picker-footer > span { flex-basis:100%; }
  .media-picker-footer .row { margin-left:auto; }
  .media-picker-preview { padding:0 16px 18px; }
  .media-picker-play,.media-selection-actions button,.media-picker-footer button { min-height:40px; }
  .clip-row { grid-template-columns:1fr 1fr auto; }
  .clip-row > div:first-child { grid-column:1/-1; }
  .clip-row > button { grid-column:auto; align-self:end; margin:0; }
  .account-visual-check { padding:16px 12px; }
  .account-visual-heading h3 { font-size:18px; }
  .account-visual-scores { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .account-visual-actions button { min-height:42px; }
}
/* A short, phone-first path from invitation to a confirmed social connection. */
.connection-page { max-width: 700px; margin: 6vh auto; padding: 24px; }
.connection-page .card { padding: 36px; }
.connection-page h1 { font-size: clamp(28px, 4vw, 40px); line-height: 1.16; }
.connection-steps { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0; }
.connection-steps li { padding: 9px 12px; border-radius: 8px; background: #24242f; color: #9293a6; font-size: 12px; }
.connection-steps .done { background: #24332d; color: #a9d6bb; }
.connection-steps .current { background: #342c51; color: #d3c5ff; }
.connection-browser { margin: 20px 0; padding: 18px; border: 1px solid #393446; border-radius: 12px; background: #211f2c; }
.connection-browser p { margin-bottom: 0; font-size: 14px; }
.connection-copy { display: flex; align-items: center; gap: 8px; }
.connection-copy input { min-width: 0; }
.connection-help { padding: 16px 0; border-bottom: 1px solid #30303b; margin: 6px 0 16px; }
.connection-help summary { cursor: pointer; font-weight: 600; }
.connection-page [data-action="check-connection"] { margin-top: 14px; }
.connection-page .back-link { display: block; margin-top: 20px; }
.connection-page .error:empty { display: none; }
@media(max-width: 600px) {
  .connection-page { margin: 0 auto; padding: 16px; }
  .connection-page .card { padding: 24px 20px; }
  .connection-page button { width: 100%; }
  .connection-copy { flex-wrap: wrap; }
  .connection-copy input { width: 100%; }
  .connection-steps { gap: 6px; }
  .connection-steps li { font-size: 11px; padding: 8px; }
}
.publication-receipts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 20px 0; }
.publication-receipts .card { padding: 16px; min-width: 0; }
.publication-thumb { width: 80px; height: 112px; object-fit: cover; border-radius: 8px; margin-top: 12px; }
.publication-receipts small { display: block; margin-bottom: 12px; }
@media(max-width:600px) { .publication-receipts { grid-template-columns: 1fr; } }
.media-preview { display:block; position:relative; width:100%; height:100%; }
.va-summary { display:flex; gap:28px; flex-wrap:wrap; padding:16px 0 24px; color:var(--muted); }
.va-summary b { font-size:25px; color:#eee9ff; margin-right:6px; }
.va-roster { display:grid; gap:18px; margin-top:22px; }
.va-person { display:flex; align-items:center; gap:14px; min-width:0; }
.va-person h3,.va-person small { overflow-wrap:anywhere; }
.va-monitor-card[hidden] { display:none; }
.va-monitor-card .row { flex-wrap:wrap; }
.va-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:24px 0; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.va-metrics strong { display:block; font-size:26px; margin-bottom:6px; }
.va-metrics small { color:var(--muted); }
.va-monitor-notes { display:grid; gap:7px; color:var(--muted); font-size:12px; padding:16px 0; }
.va-account-list .row { padding:8px 0; }
.va-actions { margin-top:12px; padding-top:18px; border-top:1px solid var(--line); }
.invite-steps { padding-left:22px; color:var(--muted); line-height:1.7; }
@media(max-width:600px){.va-summary{gap:16px}.va-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.va-person small{font-size:11px}.va-actions>.row{width:100%}.va-monitor-card{padding:18px}.va-account-list span{overflow-wrap:anywhere}}
.media-publication { position:absolute; top:9px; left:9px; z-index:2; display:inline-flex; padding:6px 9px; border-radius:6px; background:#20212bed; color:#f2f1fa; border:1px solid #ffffff26; font-size:10px; font-weight:800; letter-spacing:.5px; line-height:1.25; pointer-events:none; box-shadow:0 2px 9px #0006; }
.media-publication.is-posted { background:#1d5b41f2; color:#d7ffe8; }
.media-publication.is-scheduled { background:#47387df2; color:#f0e7ff; }
.media-publication.is-planned,.media-publication.is-checking { background:#674717f2; color:#fff0cd; }
.asset-cover>.pill { top:auto; bottom:40px; z-index:1; }
.post-source-preview>.media-preview { width:130px; height:200px; flex:none; }
.creation-media,.media-thumb { position:relative; }
.media-selected-card .media-publication { font-size:8px; left:3px; top:3px; padding:3px; letter-spacing:0; }
.day-planner { margin-bottom:26px; }
.planner-toolbar,.planner-controls { display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; }
.planner-toolbar h2 { margin:7px 0; font-size:24px; }
.planner-controls { margin:24px 0 18px; }
.planner-controls input,.planner-controls select { width:auto; max-width:230px; margin:0; }
.planner-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.planner-day { display:flex; flex-direction:column; align-items:center; gap:6px; padding:15px 5px; color:var(--muted); background:#111218; border:1px solid #30303a; min-width:0; }
.planner-day strong { font-size:24px; color:#efedf8; }
.planner-day.selected { background:#302943; border-color:#af9aff; color:#e5ddff; }
.planner-day small,.planner-day-count { font-size:10px; font-weight:400; }
.planner-agenda { display:grid; gap:14px; margin-top:22px; }
.planner-entry { display:grid; grid-template-columns:76px 112px minmax(0,1fr); gap:20px; padding:18px; background:#111218; border:1px solid #30303a; border-radius:14px; }
.planner-time { font-size:16px; padding-top:7px; }
.planner-time small { display:block; font-size:11px; margin-top:7px; color:var(--muted); }
.planner-media { height:174px; background:#07080b; border-radius:10px; overflow:hidden; }
.planner-media video,.planner-media img { display:block; height:100%; width:100%; object-fit:contain; }
.planner-media .media-publication { top:5px; left:4px; padding:4px; font-size:8px; }
.planner-copy h3 { margin:12px 0 6px; font-size:16px; overflow-wrap:anywhere; }
.planner-copy p { font-size:13px; white-space:pre-wrap; overflow-wrap:anywhere; }
.planner-empty { text-align:center; padding:45px 12px; color:var(--muted); }
.calendar-history { margin:25px 0; }
.calendar-history>summary { cursor:pointer; font-size:14px; margin-bottom:20px; color:var(--purple); }
@media(max-width:720px){.planner-toolbar h2{font-size:21px}.planner-week{gap:4px}.planner-day{padding:12px 1px;font-size:10px}.planner-day strong{font-size:20px}.planner-day-count{display:none}.planner-entry{grid-template-columns:90px minmax(0,1fr);gap:12px;padding:12px}.planner-time{grid-column:1/-1;display:flex;align-items:center;gap:12px}.planner-time small{margin:0}.planner-media{height:145px}.planner-copy h3{font-size:13px}.planner-controls .row{width:100%}.planner-controls input{flex:1;min-width:110px}.planner-controls select{flex:1;min-width:110px;max-width:100%}.media-publication{font-size:9px;padding:5px 7px}}

/* Ordered source, quote, review and VA carousel previews. */
.carousel-slides{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:6px 2px 14px;max-width:100%;}
.carousel-slides figure{margin:0;flex:0 0 min(180px,65vw);scroll-snap-align:start;}
.carousel-slides img{display:block;width:100%;height:220px;object-fit:contain;background:var(--bg,#111217);border-radius:12px;}
.carousel-slides figcaption{font-size:12px;color:var(--muted,#aaa);padding:8px 2px;}
.review-media:has(.carousel-slides),.distribution-media:has(.carousel-slides){min-width:0;overflow:hidden;}
.post-source-preview:has(.carousel-slides){display:block;max-width:100%;}
.post-source-preview .carousel-slides img{width:100%;height:220px;}

.review-card,.review-card>div,.distribution-previews>article{min-width:0;}
.review-card .carousel-slides{width:100%;}
