/* Responsive layer (2026-09-29). Loaded last so it settles the earlier, overlapping breakpoints into three tiers:
   phone ≤700px (bottom dock) · tablet 701–1180px (slim labeled rail) · desktop ≥1181px (full rail, unchanged).
   Rollback: remove the responsive.css tag from index.html. */

:root{--gutter:clamp(16px,4.6vw,76px);--rail-slim:92px}

/* One family of line icons for navigation instead of mixed text glyphs. */
.rail .nav-icon,#more-panel .nav-icon{font-size:0!important;line-height:0;width:20px;height:20px;flex:none;background:currentColor;-webkit-mask:var(--nav-icon) center/contain no-repeat;mask:var(--nav-icon) center/contain no-repeat}
[data-route=overview] .nav-icon{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5 12 4l8 6.5V20h-5.5v-5.5h-5V20H4z'/%3E%3C/svg%3E")}
[data-route=inbox] .nav-icon{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 13.5 6.6 5.5h10.8L20 13.5V19H4z'/%3E%3Cpath d='M4 13.5h4.2l1.4 2.5h4.8l1.4-2.5H20'/%3E%3C/svg%3E")}
[data-route=search] .nav-icon{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6'/%3E%3Cpath d='m15 15 5 5'/%3E%3C/svg%3E")}
[data-route=content] .nav-icon{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 3.5 12.9 9l5.6 2-5.6 2L11 18.5 9.1 13l-5.6-2 5.6-2z'/%3E%3Cpath d='M18 15.5l.8 2 2 .8-2 .8-.8 2-.8-2-2-.8 2-.8z'/%3E%3C/svg%3E")}
[data-route=scripts] .nav-icon{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 19.5 5.6 15 15.8 4.8l3.4 3.4L9 18.4z'/%3E%3Cpath d='m13.6 7 3.4 3.4'/%3E%3C/svg%3E")}
[data-route=operations] .nav-icon{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h3m4 0h9M4 12h9m4 0h3M4 17h5m4 0h7'/%3E%3Ccircle cx='9' cy='7' r='2'/%3E%3Ccircle cx='15' cy='12' r='2'/%3E%3Ccircle cx='11' cy='17' r='2'/%3E%3C/svg%3E")}
[data-route=website] .nav-icon{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M4 12h16M12 4c2.6 2.4 2.6 13.6 0 16M12 4c-2.6 2.4-2.6 13.6 0 16'/%3E%3C/svg%3E")}
[data-route=calendar] .nav-icon{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5.5' width='16' height='14.5' rx='1.5'/%3E%3Cpath d='M4 10h16M8.5 3.5v4M15.5 3.5v4'/%3E%3C/svg%3E")}
[data-route=brands] .nav-icon{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='12' r='5'/%3E%3Ccircle cx='15' cy='12' r='5'/%3E%3C/svg%3E")}
[data-route=imports] .nav-icon{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11m-4.5-4.5L12 15l4.5-4.5M5 19.5h14'/%3E%3C/svg%3E")}
[data-route=users] .nav-icon{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8.5' r='3.5'/%3E%3Cpath d='M5 20c.8-3.8 3.6-5.8 7-5.8s6.2 2 7 5.8'/%3E%3C/svg%3E")}
[data-route=analytics] .nav-icon{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16M7 16v-4M12 16V6M17 16V9'/%3E%3C/svg%3E")}
[data-route=evidence] .nav-icon{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 4h11v16L12 16.2 6.5 20z'/%3E%3C/svg%3E")}

/* Shared fixes at every width. */
/* Masthead at every width: date line and actions share the top row; the title keeps the full width below. */
main>header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"eyebrow actions" "title title";align-items:center;column-gap:18px;row-gap:8px}
main>header>div:first-child{display:contents}
main>header .eyebrow{grid-area:eyebrow;margin:0;min-width:0}
main>header h1{grid-area:title;margin:0}
main>header .header-actions{grid-area:actions}
#page-title{text-wrap:balance}
.workflow-strip>div{min-width:0}
.review-queue>*{flex-shrink:0}
.partner-directory-item>span>strong{flex:1;min-width:0}
.partner-directory-item .pill,.partner-directory-item>span>:not(strong){white-space:nowrap;flex:none}

/* Tablet and small laptop: slim dark rail with labels under each icon. Resets the ≤800px dock rules that used to leak into 701–800px. */
@media(min-width:701px) and (max-width:1180px){
  .rail{position:fixed;inset:0 auto 0 0;width:var(--rail-slim);height:auto;flex-direction:column;align-items:stretch;padding:22px 10px 16px;border:0;overflow:visible;box-shadow:none}
  .rail .mark{display:block;align-self:center;margin:0 0 18px;white-space:nowrap;text-align:center}
  .rail .export{display:grid;align-self:center;width:40px;height:40px;place-items:center;margin-top:12px;flex:none}
  .rail nav{display:flex;flex-direction:column;gap:2px;width:100%;min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;grid-template-columns:none;grid-template-rows:none}
  .rail nav::-webkit-scrollbar{display:none}
  .rail .nav-group{display:flex;flex-direction:column;gap:2px}
  .rail .nav-group-label{font-size:0;height:1px;padding:0;margin:9px 16px;border:0;background:#3a3e39}
  .rail .nav-group:first-child .nav-group-label{display:none}
  .rail nav button{width:100%;height:auto;min-height:54px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px 2px 7px;border-radius:10px}
  .rail nav button.active:before{left:-10px;top:50%;margin-top:-11px}
  .rail nav button .nav-label{display:block;font:500 10.5px/1.15 var(--sans);letter-spacing:.01em;text-align:center;white-space:normal;max-width:78px}
  .rail nav button .nav-count{position:absolute;top:7px;left:calc(50% + 6px);right:auto;margin:0;min-width:17px;padding:1px 5px;font-size:10px;line-height:15px;text-align:center;background:var(--coral);color:#fff}
  .rail nav button.active .nav-count{background:var(--ink);color:var(--paper)}
  main{width:calc(100% - var(--rail-slim));margin-left:var(--rail-slim);padding:38px var(--gutter) 90px}
  main>header .header-actions{gap:12px}
  main>header .header-actions .search{display:none}
  .partner-layout{grid-template-columns:1fr}
  .partner-directory{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));max-height:none;padding:0}
  .partner-directory-head{grid-column:1/-1}
  .partner-directory-item{min-width:0}
}
@media(min-width:1000px) and (max-width:1180px){main>header .header-actions .search{display:flex}}
/* Short tablet screens (e.g. landscape iPad): icons only, so every section stays visible without hidden scrolling. */
@media(min-width:701px) and (max-width:1180px) and (max-height:880px){
  .rail{padding-top:16px}
  .rail .mark{margin-bottom:10px}
  .rail nav button{min-height:40px;padding:6px 2px}
  .rail nav button .nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .rail nav button .nav-count{top:2px}
  .rail .nav-group-label{margin:6px 18px}
}

/* Desktop: the established full rail. */
@media(min-width:1181px){
  .rail nav button .nav-icon{width:18px;height:18px}
}
/* The week card and five-step strip only sit side by side when there is room for both. */
@media(max-width:1360px){.sm-week-row{grid-template-columns:1fr}}

/* Phone: tidy masthead, badges seated on their icons, calmer dock. */
@media(max-width:700px){
  main>header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;column-gap:12px!important;row-gap:14px!important;margin-bottom:26px}
  main>header .eyebrow{font-size:0!important;display:flex;align-items:center;gap:8px}
  main>header .eyebrow #today{font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#6f6a61;white-space:nowrap}
  main>header h1{grid-area:title;margin:0;font-size:clamp(32px,9.6vw,44px);line-height:1}
  /* Section heroes: keep headlines to two or three lines on a phone. */
  .search-room-copy h2,.script-room-intro h2,.analytics-command h2,.website-hero h2{font-size:clamp(30px,8.8vw,38px)!important;line-height:1.04}
  .partner-ledger-intro h2,.partner-detail-head h2,.website-manager-head h2,.story-archive-head h2{font-size:clamp(26px,7.6vw,32px)!important;line-height:1.06}
  main>header .header-actions{grid-area:actions;order:0}
  .rail nav button .nav-icon,.rail nav .mobile-more>span:first-child{width:22px;height:22px}
  .rail nav .mobile-more>span:first-child{display:grid;place-items:center;font-size:15px;letter-spacing:1px;line-height:1}
  .rail nav button{position:relative}
  .rail nav button .nav-count{position:absolute;top:8px;left:calc(50% + 5px);right:auto;margin:0;min-width:17px;padding:1px 5px;font-size:10px;line-height:15px;text-align:center;background:var(--coral);color:#fff}
  .rail nav button.active .nav-count{background:var(--paper);color:var(--ink)}
  #more-panel:not([hidden]){gap:8px;padding:10px;border-radius:14px}
  #more-panel button{gap:12px;padding:12px 14px;border-radius:10px;min-width:0}
  #more-panel #close-more{grid-column:1/-1;justify-content:center;min-height:42px}
  #more-panel .nav-icon{flex:0 0 20px;width:20px;height:20px}
  #more-panel .nav-label{font:500 14px/1.25 var(--sans)!important;text-transform:none!important;letter-spacing:0!important;min-width:0;overflow-wrap:anywhere}
}
