/* POSTROOM 4.0: responsive layout and bounded dialogs. */
html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}
body{min-width:320px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.workspace,.main,.topbar,.header-actions,.project-head>div,.panel,.right-rail,.file-main,.source-card{min-width:0}
.main{width:100%;padding:24px clamp(16px,2.5vw,36px) 44px}
.topbar{grid-template-columns:minmax(0,1fr) minmax(230px,auto) minmax(0,1fr);padding:12px 24px;height:auto;min-height:96px}
.header-actions{flex-wrap:wrap;gap:7px}.crumb strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-actions .language-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;min-height:42px;min-width:42px;padding:0;font-size:13px;line-height:1;letter-spacing:0;overflow:visible}
.language-button::before,.language-button::after,.build-badge::before,.build-badge::after{content:none!important}
.build-badge{font-size:12px!important;line-height:1.4;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;line-height:1;font-family:'IBM Plex Sans',sans-serif;letter-spacing:0}
.page-nav{max-width:100%;scrollbar-width:thin}.page-nav button{font-size:14px;flex-shrink:0}
.journey-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));overflow:visible;gap:12px;padding:18px}
.journey-stage,.journey-stage:first-child,.journey-stage:last-child{min-width:0;padding:16px;border:1px solid var(--edge);border-radius:18px;background:var(--tint)}
.journey-track{height:44px}.journey-stage .timeline-connector{right:0;left:52px;top:18px;height:9px}.journey-stage:last-child .timeline-connector{display:block}
.journey-stage .timeline-node{box-shadow:none}.journey-stage-title h3,.journey-stage-title strong{font-size:21px}.journey-stage>.badge{font-size:13px;white-space:normal}
.journey-note{font-size:14px;height:auto;min-height:44px;overflow-wrap:anywhere}.journey-deadline{flex-wrap:wrap}.journey-deadline .due,.journey-deadline small{font-size:14px}
.journey-actions{flex-wrap:wrap}.journey-actions .btn{font-size:14px;min-height:40px}.journey-release small{font-size:12px}.journey-release>.due,.journey-release .btn{font-size:14px}
.journey-heading{gap:15px;flex-wrap:wrap}.journey-heading-actions{flex-wrap:wrap}.journey-heading-actions .timeline-total small{font-size:13px}.journey-heading p{font-size:14px}
.journey-dashboard .timeline-caption{flex-wrap:wrap}.current-pill{max-width:100%;white-space:normal}.timeline-caption>.btn{font-size:14px;min-height:40px}
.delivery-compact{flex-wrap:wrap}.delivery-progress{min-width:140px;max-width:100%;flex:1}.delivery-compact small{font-size:12px}
.file-row{grid-template-columns:minmax(0,1.5fr) minmax(80px,.6fr) minmax(100px,.8fr) minmax(80px,1fr) auto}.file-row .badge{white-space:normal}.file-actions{flex-wrap:wrap}.file-sub,.file-time{font-size:12px}.revision-note{overflow-wrap:anywhere}
.file-toolbar,.section-title{flex-wrap:wrap}.search{min-width:0}.inline-select{flex-wrap:wrap}.filters{gap:8px}.filter,.tab{font-size:14px}
dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:hidden;padding:0}
dialog[open]{display:flex;flex-direction:column}#modal-form{display:flex;flex-direction:column;min-height:0;width:100%;max-height:calc(100dvh - 26px)}
.dialog-header,.dialog-footer{flex-shrink:0}.dialog-header{position:static}.dialog-header h2{overflow-wrap:anywhere;min-width:0}.dialog-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;max-height:none;-webkit-overflow-scrolling:touch}.dialog-footer .row{flex-wrap:wrap}
.form-grid>*{min-width:0}input[type=date],input[type=datetime-local]{min-width:0;width:100%;max-width:100%;display:block}
.field input,.field textarea,.field select{max-width:100%}.field input[type=checkbox]{width:21px}.copy-fallback{width:100%;min-height:200px;background:var(--surface);color:var(--ink);font-size:16px}
.source-card h2,.source-card p,.detail-notes,.short-note{overflow-wrap:anywhere}.source-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.source-card>p{max-height:120px;overflow:auto}.source-category .badge{white-space:normal}.source-card>.row{flex-wrap:wrap}
.hosted-signin{max-width:650px;margin:10vh auto;padding:28px;display:grid;gap:22px}.hosted-signin h1{font-size:36px}.hosted-signin .btn{justify-self:start}
@media(max-width:1250px){.topbar{grid-template-columns:minmax(0,1fr) auto}.crumb{display:none}.digital-clock{min-width:0;justify-self:start}.header-actions{justify-self:end}.file-row{grid-template-columns:minmax(0,1fr) 100px 110px auto}.revision-col{display:none}.overview-v2{grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr)}}
@media(max-width:1000px){.topbar .mobile-brand{display:none}.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-v2{grid-template-columns:1fr}.right-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.topbar{grid-template-columns:minmax(0,1fr) auto;padding:12px 16px;min-height:100px}.digital-clock{grid-column:1;grid-row:1;min-width:0;text-align:left}.digital-clock time{font-size:25px}.digital-clock>div{font-size:12px;max-width:230px}.digital-clock small{font-size:10px}.header-actions{grid-column:2;grid-row:1}.build-badge{display:none}.header-actions [data-id=people]{display:none}.right-rail{grid-template-columns:1fr}.file-row{grid-template-columns:minmax(0,1fr) auto}.file-row .file-main{grid-column:1/-1}.file-row .file-actions{grid-column:2;grid-row:3}.file-row .stage-col{grid-column:1;grid-row:2}.file-row .status-col{grid-column:2;grid-row:2;padding:0}.journey-grid{padding:12px;gap:10px}.journey-actions .btn{font-size:13px}.journey-heading-actions{flex-direction:row;align-items:center}.dialog-header,.dialog-body,.dialog-footer{padding:17px}.status-options,.setup-stages{grid-template-columns:1fr 1fr}.project-head h1{font-size:32px}}
@media(max-width:480px){.journey-grid{grid-template-columns:1fr}.form-grid,.status-options,.setup-stages{grid-template-columns:1fr}.credit-line{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px}.credit-role-text,.credit-name-text{font-size:15px}.digital-clock>div{max-width:200px}.header-actions{gap:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Delivery dates lead the Timeline; On Air and availability stay separate. */
.timeline-title{margin-bottom:18px;gap:16px;flex-wrap:wrap}
.delivery-dates-panel{padding:20px;margin-bottom:20px}
.delivery-dates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.delivery-date-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--surface);display:flex;flex-direction:column;gap:12px}
.delivery-date-card h3{font-size:1.15rem;margin:0;overflow-wrap:anywhere}
.delivery-card-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--bg)}
.delivery-card-date{font-size:1.35rem;line-height:1.35;letter-spacing:-.025em;color:var(--ink);overflow-wrap:anywhere}
.delivery-card-status{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.875rem}
.delivery-card-note{margin:0;font-size:.875rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.delivery-date-card.tone-cutting{border-top:4px solid #6897cc}
.delivery-date-card.tone-color{border-top:4px solid #c79b50}
.delivery-date-card.tone-vtr{border-top:4px solid #53a492}
.delivery-date-card.tone-vfx{border-top:4px solid #a581cc}
.delivery-date-card.final-date-card{border:2px solid #a581cc;background:color-mix(in srgb,var(--surface) 92%,#a581cc 8%)}
.on-air-panel,.timeline-reference,.timeline-availability{margin-bottom:20px}
.on-air-dates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;padding:0 20px 20px}
.on-air-panel .delivery-date-card{background:color-mix(in srgb,var(--surface) 94%,#53a492 6%);border-color:#53a49280}
.timeline-reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:0 20px 20px}
.timeline-reference-grid .timeline-thumb{margin:0;width:100%;max-height:240px;overflow:hidden}
.timeline-reference-grid img{width:100%;height:100%;object-fit:contain}
.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;padding:0 20px 20px}
.availability-grid .availability-row{margin:0;border:1px solid var(--line);border-radius:16px;padding:16px}
@media(max-width:520px){.delivery-dates-panel{padding:12px}.delivery-dates-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.delivery-date-card{padding:13px;gap:10px}.delivery-card-date{font-size:1.1rem}.delivery-date-card .btn{padding:7px}.on-air-dates-grid,.timeline-reference-grid,.availability-grid{grid-template-columns:1fr;padding:0 12px 12px}}
@media(max-width:350px){.delivery-dates-grid{grid-template-columns:1fr}}
.department-note-full{white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0;line-height:1.65}
.department-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}
.department-counts>span{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--subtle);font-size:.875rem}
.department-counts b{font-size:1.5rem;color:var(--ink)}
.department-detail-section{margin-top:24px}.department-detail-section h3{margin-bottom:12px}
.department-link-row{display:flex;width:100%;gap:12px;align-items:flex-start;text-align:left;border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--subtle);color:var(--ink);margin-bottom:10px}
.department-link-row:hover{border-color:var(--accent)}
.department-link-row>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}
.department-link-row strong,.department-link-row small{display:block}.department-link-row small{margin-top:5px;color:var(--muted);font-size:.875rem}.department-link-row p{margin:8px 0 0;white-space:pre-wrap;font-size:.9375rem}
.department-link-icon{flex-shrink:0;padding:9px;border-radius:12px;background:var(--surface)}
.department-link-actions{gap:8px;margin-top:12px}.department-full-notes{padding:14px;border:1px solid var(--line);border-radius:14px}.department-full-notes .detail-notes{margin-top:10px}
.department-deliverable{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px;border-bottom:1px solid var(--line)}.department-deliverable p{grid-column:1/-1;white-space:pre-wrap;margin:0}
@media(max-width:520px){.department-link-row{flex-wrap:wrap}.department-link-row>.badge{margin-left:48px}.department-counts>span{padding:10px}.department-deliverable{grid-template-columns:1fr}}
.journey-compact-header{display:flex;align-items:center;gap:24px;padding:20px 24px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.journey-final-date{display:flex;align-items:center;gap:12px;flex-shrink:0}.journey-final-date small{display:block;font-size:.875rem;color:var(--muted)}.journey-final-date strong{display:block;font-size:1.35rem;line-height:1.4}
.journey-overall-progress{flex:1;min-width:220px}.journey-overall-progress>.row{margin-bottom:8px;font-size:.875rem;color:var(--muted)}.journey-overall-progress strong{font-size:1.5rem;color:var(--ink)}
.journey-overall-progress .progressbar{height:16px;display:block;width:100%;border-radius:999px}
.journey-overall-progress progress::-webkit-progress-bar{border-radius:999px}.journey-overall-progress progress::-webkit-progress-value{border-radius:999px}.journey-overall-progress progress::-moz-progress-bar{border-radius:999px}
@media(max-width:720px){.journey-compact-header{gap:16px;padding:16px}.journey-overall-progress{order:3;flex-basis:100%;min-width:0}.journey-final-date{flex:1;flex-wrap:wrap}.journey-compact-header>.row{margin-left:auto}}

/* Use the rendered header height, including wrapping and browser zoom. */
.page-nav{top:var(--postroom-measured-header-height,var(--postroom-header-height));isolation:isolate}
html{scroll-padding-top:calc(var(--postroom-measured-header-height,var(--postroom-header-height,84px)) + 80px)}
.client-requirements{margin-bottom:20px}.client-requirements .detail-notes{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}
