.sidebar { display: flex; flex-direction: column; }
.sidebar nav { flex: 0 0 auto; }
.sidebar-version { margin-top: auto; padding: 1.25rem .75rem .25rem; color: var(--muted); font-size: .75rem; text-align: center; }

.schedule-row { grid-template-columns: auto 100px minmax(92px, 1fr) minmax(92px, 1fr) minmax(150px, 1.4fr) auto; }
.period-actions { display: flex; gap: .65rem; align-items: center; white-space: nowrap; }
.period-actions label { display: flex; gap: .25rem; align-items: center; }
.period-actions input { width: auto; margin: 0; }
.schedule-remove { background: var(--orange); border-color: var(--orange); font-weight: 650; padding: .55rem .65rem; }

.media-thumbnail { display: block; width: 112px; height: 63px; object-fit: cover; border: 1px solid var(--line); border-radius: 6px; background: #111; }
.thumbnail-empty { display: grid; width: 112px; height: 63px; place-items: center; border: 1px dashed #c8ccd2; border-radius: 6px; color: var(--muted); font-size: .75rem; }
.danger-zone { display: flex; gap: .75rem; align-items: center; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--line); }
button.danger { border-color: #b94343; color: #8e2929; background: #fff7f7; }
.icon-button { width: 38px; height: 38px; padding: 0; font-size: 1.05rem; }

.marketing { min-height: 100vh; background: #fafafa; }
.marketing-header { max-width: 1180px; margin: auto; padding: 1.25rem 2rem; display: flex; align-items: center; justify-content: space-between; }
.marketing-header nav, .hero-actions { display: flex; gap: .75rem; }
.marketing-brand img { display: block; width: 120px; height: 76px; object-fit: contain; }
.marketing main { max-width: 1180px; margin: auto; padding: 1rem 2rem 4rem; }
.hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .75fr); gap: 3rem; align-items: center; padding: 5rem 0; }
.hero h1 { max-width: 760px; font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1; letter-spacing: -.055em; }
.hero > div > p { max-width: 680px; font-size: 1.15rem; color: var(--muted); }
.eyebrow { display: inline-block; color: #9a5623; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; }
.hero-card { background: #25272a; color: #fff; border-radius: 22px; padding: 2.25rem; box-shadow: 0 24px 60px #25272a22; }
.hero-card img { display: block; width: 145px; margin: 0 auto 2rem; background: #fff; border-radius: 12px; padding: .5rem; }
.hero-card strong { font-size: 1.35rem; }
.hero-card p { color: #d6d8dc; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.feature-grid article { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 1.5rem; }
.feature-grid article p { color: var(--muted); }
.pricing { display: flex; justify-content: space-between; gap: 2rem; align-items: center; margin-top: 2rem; background: #fff0e4; border: 1px solid #f1c9a9; border-radius: 18px; padding: 2rem; }
.pricing h2 { font-size: 1.8rem; margin-bottom: .4rem; }
.pricing p { max-width: 720px; margin-bottom: 0; }
.marketing-footer { text-align: center; padding: 2rem; color: var(--muted); border-top: 1px solid var(--line); }
.signup { margin-top: 3vh; }
.form-link { text-align: center; color: var(--muted); }

@media (max-width: 1000px) {
  .schedule-row { grid-template-columns: auto 100px 1fr 1fr; }
  .schedule-row select[data-key="playlist_id"] { grid-column: 2 / 4; }
  .schedule-row .period-actions { grid-column: 4; }
  .hero { grid-template-columns: 1fr; padding: 3rem 0; }
  .hero-card { max-width: 520px; }
  .feature-grid { grid-template-columns: 1fr; }
  .pricing { align-items: flex-start; flex-direction: column; }
}

/* Public website */
.marketing-header nav,.marketing-footer nav,.hero-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.marketing-header nav a:not(.button),.marketing-footer a{color:inherit;text-decoration:none}.marketing main{max-width:1240px;margin:auto}.page-hero{padding:4.5rem 0 2.5rem;max-width:850px}.page-hero h1,.public-hero h1{font-size:clamp(2.5rem,6vw,4.8rem);line-height:1.02;margin:.35rem 0 1rem}.page-hero p,.public-hero p{font-size:1.2rem;line-height:1.7}.public-hero{align-items:center}.public-hero .marketing-shot{margin:0}.public-section{padding:4rem 0}.feature-grid article,.partner-grid article,.download-grid article{background:#fff;border:1px solid #dde2e7;border-radius:16px;padding:1.5rem}.partner-grid,.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;padding:2rem 0 4rem}.partner-grid img{width:min(260px,100%);height:62px;object-fit:contain;object-position:left center;margin-bottom:1rem}.public-cta{margin:2rem 0 5rem;padding:2rem;background:#20252a;color:#fff;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.marketing-shot{border:1px solid #dfe4e8;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 14px 35px rgba(0,0,0,.08)}.marketing-shot img{width:100%;display:block}.marketing-shot figcaption{padding:.8rem 1rem;color:#606b75}.feature-story{display:grid;grid-template-columns:1fr 1.35fr;gap:3rem;align-items:center;padding:3rem 0}.feature-story.reverse>div{order:2}.policy{max-width:880px;margin:0 auto;padding:4rem 1rem 6rem;line-height:1.75}.privacy-highlight{border-left:5px solid #ec9b63;background:#fff4ec;padding:1.3rem 1.5rem;border-radius:8px}.docs-list{padding-bottom:5rem}.docs-list details{background:#fff;border:1px solid #dce1e5;border-radius:12px;margin:.8rem 0;overflow:hidden}.docs-list summary{font-size:1.1rem;font-weight:700;padding:1.25rem;cursor:pointer}.docs-list details[open] summary{border-bottom:1px solid #e5e8eb}.docs-content{padding:1.25rem;line-height:1.7}.docs-content .marketing-shot{margin:1.5rem 0;max-width:900px}.contact-form{max-width:760px;display:grid;gap:1rem;padding-bottom:6rem}.contact-form label{display:grid;gap:.4rem;font-weight:600}.contact-form textarea{resize:vertical}.trap{position:absolute!important;left:-10000px!important}.download-note{padding:0 0 5rem}.marketing-footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
@media(max-width:800px){.marketing-header{flex-direction:column}.marketing-header nav{width:100%}.feature-story,.partner-grid,.download-grid{grid-template-columns:1fr}.feature-story.reverse>div{order:initial}.public-cta{align-items:flex-start;flex-direction:column}.page-hero{padding-top:2.5rem}}
@media (max-width: 700px) {
  .schedule-row { grid-template-columns: auto 1fr 1fr; }
  .schedule-row .schedule-remove { grid-row: span 2; }
  .schedule-row select[data-key="playlist_id"] { grid-column: 2 / -1; }
  .schedule-row .period-actions { grid-column: 2 / -1; }
  .marketing-header, .marketing main { padding-left: 1rem; padding-right: 1rem; }
  .marketing-header { align-items: flex-start; }
  .marketing-brand img { width: 90px; height: 58px; }
  .hero { padding: 2rem 0; }
  .pricing { padding: 1.5rem; }
  .media-thumbnail, .thumbnail-empty { width: 80px; height: 45px; }
}
