/* Structure measured against the reference; no source branding or media. */
.container { max-width:1100px; padding:30px 30px 72px; }
header { height:64px; }
nav a { border:0; padding-top:0; letter-spacing:-.5px; }
nav a.active { border:0; font-weight:700; }
.lab-strip { display:none; }
button,.button { min-height:48px; padding:12px 20px; border-radius:0; font-weight:500; letter-spacing:-.4px; }
.primary { font-weight:700; }
.text-button { min-height:24px; padding:2px 0; }
.title-row { margin:0 0 24px; align-items:center; }
.title-row>.eyebrow,.title-row>div>.eyebrow,.wizard-heading>.eyebrow { display:none; }
.title-row h1 { margin:0; }
.tabs { margin:24px 0 30px; }
.tabs a { padding:12px 16px; line-height:24px; }
.reference-banner { height:128px; background:linear-gradient(110deg,#111 55%,#333 100%); color:white; display:flex; align-items:center; justify-content:space-between; padding:20px 40px; overflow:hidden; margin:0 0 48px; }
.reference-banner small { font-size:10px; color:#aaa; letter-spacing:1px; display:block; margin-bottom:8px; }
.reference-banner strong { display:block; font-size:17px; font-weight:700; }
.reference-banner span { display:block; font-size:12px; margin-top:5px; color:#bbb; }
.reference-banner img { width:200px; height:200px; object-fit:cover; opacity:.9; transform:rotate(12deg); }
.campaign-title .primary { min-width:310px; min-height:52px; }
.campaign-tabs { margin-bottom:32px; }
.campaign-filters { margin-bottom:30px; }
.todo-row { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.todo-row .check { font-size:12px; letter-spacing:-.35px; }
.upload-link { font-size:12px; text-decoration:underline; margin-left:auto; }
.sort-row { display:flex; justify-content:flex-end; gap:24px; margin-top:20px; }
.sort-row label { display:flex; align-items:center; gap:8px; font-size:12px; }
.sort-row input { min-height:20px; width:20px; height:20px; accent-color:#111; }
.search-disclosure { margin-top:16px; font-size:12px; color:#777; }
.search-disclosure summary { cursor:pointer; width:max-content; }
.search-disclosure .toolbar { color:#111; padding-bottom:0; }
.date-group { margin-top:30px; }
.date-group>summary { list-style:none; display:flex; align-items:center; justify-content:space-between; font-size:20px; font-weight:700; margin-bottom:24px; cursor:pointer; }
.date-group>summary::-webkit-details-marker { display:none; }
.date-group>summary>.date-chevron { border-radius:50%; background:#b1b5be; color:white; width:36px; height:36px; line-height:41px; text-align:center; font-size:20px; flex-shrink:0; }
.date-group:not([open])>summary>.date-chevron { transform:rotate(180deg); }
.campaign-row { display:grid; grid-template-columns:80px minmax(0,1fr) 140px 160px; gap:16px; border:1px solid #e7e7eb; margin:16px 0; padding:20px; min-height:156px; }
.campaign-row>img { width:80px; height:100px; object-fit:contain; }
.campaign-row .meta { justify-content:space-between; font-size:12px; gap:10px; }
.campaign-row .category { font-size:12px; padding:3px 8px; }
.campaign-row .brand-label { margin:8px 0 4px; font-size:12px; color:#91949d; }
.campaign-copy h2 { font-size:14px; line-height:20px; letter-spacing:-.6px; margin:4px 0 8px; }
.campaign-copy .fee,.campaign-copy .fee span { font-size:12px; line-height:18px; margin:0; }
.campaign-count { font-size:14px; line-height:24px; border-left:1px solid #f2f2f4; padding:0 16px; }
.campaign-end { min-height:100px; justify-content:center; align-items:center; gap:8px; text-align:center; border-left:1px solid #f2f2f4; padding-left:16px; }
.campaign-end>strong { font-size:14px; line-height:22px; max-width:130px; }
.process-disclosure { margin:20px 0; font-size:12px; color:#888; }
.process-disclosure summary { cursor:pointer; }
.process-disclosure .timeline { margin:12px 0; }
.detail-heading { padding-top:20px; }
.detail-heading h1 { font-size:22px; line-height:32px; margin-bottom:8px; }
.detail-heading .title-row { margin:24px 0 40px; }
.detail-heading .schedule { margin:0 0 48px; gap:40px; }
.schedule strong { font-size:14px; }
.schedule .grid>div>span { font-size:12px; }
.detail-heading+.process-disclosure { margin-top:0; }
.stage-bar { position:fixed; bottom:0; left:0; right:0; z-index:4; background:#fff; border:0; border-top:1px solid #e7e7eb; padding:16px max(24px,calc((100vw - 1040px)/2)); min-height:84px; box-shadow:0 -2px 8px #00000003; }
.stage-bar .primary { background:white; border-color:#e7e7eb; color:#171719; min-height:48px; }
.container:has(.detail-heading) { padding-bottom:140px; }
.creator-cover { height:160px; }
.creator-body { padding:20px; }
.creator-tools { border-bottom:1px solid #eee; padding-bottom:10px; margin:12px 0; }
.card-actions { gap:8px; }
.card-actions button { min-height:40px; font-weight:500; }
.post-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.post-preview { height:300px; background:#f3f3f6; }
.post-body { padding:18px; }
.post-body h3 { font-size:16px; }
.post-body .actions { gap:8px; }
.post-body .actions button { font-size:12px; min-height:36px; padding:8px 12px; }
.post-assets { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:14px; }
.post-assets .text-button { font-size:12px; }
.download-options { display:flex; flex-direction:column; gap:12px; }
.field { margin-bottom:24px; }
.form-stack>.panel { padding:32px; margin-top:32px; }
.form-actions { padding-top:24px; }
.form-actions>.primary { min-width:230px; }
.dialog-heading { padding:20px 24px; }
.dialog-body { padding:24px; }
.dialog-heading .close-button { min-height:24px; padding:0 7px; }
.menu-toggle { display:none; }
@media(max-width:900px) {
  .container { padding-left:24px; padding-right:24px; }
  .campaign-row { grid-template-columns:65px minmax(0,1fr) 115px; gap:14px; padding:16px; }
  .campaign-row>img { width:65px; }
  .campaign-count { grid-column:2; border:0; padding:0; font-size:12px; }
  .campaign-end { grid-column:3; grid-row:1/3; padding-left:10px; }
  .campaign-row .meta { font-size:10px; }
  .post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:680px) {
  .container { padding:24px 18px 60px; }
  .header-inner { min-height:60px; justify-content:flex-end; }
  .menu-toggle { display:flex; background:none; border:0; min-height:44px; font-size:24px; padding:8px; }
  .header-inner>nav { display:none; }
  .header-inner>.account { display:none; }
  header.menu-open nav { display:flex; position:fixed; inset:60px auto 0 0; width:min(330px,85vw); height:auto; z-index:8; background:#fff; box-shadow:0 0 0 100vw #0005; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; padding:24px; }
  header.menu-open nav a { height:56px; flex-shrink:0; font-size:18px; color:#9c9fa7; }
  header.menu-open nav a.active { color:#111; }
  header.menu-open .account { display:flex; position:fixed; bottom:24px; left:24px; z-index:9; width:min(280px,70vw); flex-wrap:wrap; margin:0; gap:12px; }
  header.menu-open .account-name { display:inline; }
  body:has(header.menu-open) { overflow:hidden; }
  .reference-banner { height:96px; margin-bottom:32px; padding:16px 20px; }
  .reference-banner small { font-size:8px; }
  .reference-banner strong { font-size:13px; max-width:220px; }
  .reference-banner span { font-size:10px; }
  .reference-banner img { width:100px; height:130px; }
  .campaign-title { gap:12px; }
  .campaign-title h1 { font-size:18px; line-height:28px; }
  .campaign-title .primary { min-width:0; width:48%; min-height:48px; font-size:12px; padding:10px 12px; }
  .campaign-tabs { margin:24px 0; }
  .tabs a { font-size:14px; padding:12px 8px; }
  .todo-row { gap:12px; align-items:flex-start; }
  .todo-row .check { font-size:11px; }
  .upload-link { margin-left:0; font-size:11px; }
  .sort-row { justify-content:flex-start; gap:20px; margin-top:18px; }
  .sort-row label { font-size:11px; }
  .date-group { margin-top:24px; }
  .date-group>summary { font-size:18px; margin-bottom:18px; }
  .campaign-row { grid-template-columns:54px minmax(0,1fr); padding:14px; gap:12px; min-height:0; }
  .campaign-row>img { width:54px; height:80px; }
  .campaign-copy h2 { font-size:13px; line-height:20px; }
  .campaign-row .meta { font-size:9px; gap:6px; }
  .campaign-row .category { font-size:10px; }
  .campaign-count { grid-column:2; font-size:11px; line-height:18px; }
  .campaign-end { grid-row:auto; grid-column:1/3; min-height:0; padding:12px 0 0; border-left:0; border-top:1px solid #f2f2f4; align-items:flex-start; }
  .campaign-end>strong { font-size:12px; max-width:none; }
  .campaign-copy .fee,.campaign-copy .fee span { font-size:11px; }
  .detail-heading { padding-top:0; }
  .detail-heading h1 { font-size:18px; line-height:28px; }
  .detail-heading .title-row { margin:20px 0 24px; }
  .detail-heading .schedule { gap:16px; margin-bottom:28px; }
  .schedule strong { font-size:11px; }
  .schedule .grid>div>span { font-size:10px; }
  .stage-bar { padding:12px 18px; min-height:84px; }
  .stage-bar .primary { min-height:44px; font-size:11px; }
  .creator-cover { height:130px; }
  .creator-body { padding:14px; }
  .post-grid { grid-template-columns:1fr; }
  .post-preview { height:320px; }
  .form-stack>.panel { padding:22px 16px; }
  .form-actions>.primary { min-width:0; }
}
@media(min-width:901px){.container{max-width:1084px}}
.campaign-filters{position:relative}
.search-disclosure{position:absolute;left:0;bottom:0;margin:0}
.search-disclosure[open]{z-index:3;background:white;border:1px solid #e7e7eb;padding:16px;box-shadow:0 8px 20px #0001;width:min(600px,100%)}
.date-group{margin-top:24px}
@media(max-width:680px){.search-disclosure{position:static;margin-top:12px}.search-disclosure[open]{width:100%}}
.product-variant{font-size:12px;color:#777;line-height:18px;margin:6px 0}
