:root{
  --bg:#0a0a0b; --bg-2:#111113; --bg-3:#16161a;
  --line:#1f1f24; --line-2:#2a2a31;
  --text:#e9e7e2; --muted:#7a7a82; --dim:#4a4a52;
  --accent:#e8b547; --accent-2:#ff5f3a;
  --good:#7ec27a; --bad:#ff4d4d; --info:#9ec5ff;
  --camera:#e8b547; --grip:#9ec5ff; --art:#c9a0ff;
  --sound:#7ec27a; --makeup:#ff9bb3; --wardrobe:#ffb37a; --talent:#ff5f3a;
  --electric:#ffe066; --transpo:#88c0d0; --production:#e8b547;
}
*{box-sizing:border-box; margin:0; padding:0}
a{ color:inherit; text-decoration:none }
button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer }
input,select{ font:inherit; color:inherit; background:none; border:none; outline:none }
html,body{background:var(--bg); color:var(--text); font-family:"Funnel Sans",system-ui,sans-serif; font-weight:400; letter-spacing:.005em; -webkit-font-smoothing:antialiased; min-width:1280px}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:200;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  mix-blend-mode:overlay; opacity:.5;
}
/* BRAND */
.brand-mark{ width:22px; height:28px; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:space-evenly; padding:3px 0 }
.brand-mark::before{ content:""; position:absolute; left:50%; top:3px; bottom:3px; width:1.5px; background:var(--text); transform:translateX(-50%) }
.brand-mark span{ position:relative; z-index:2; width:10px; height:5px; border:1.5px solid var(--text); border-radius:50%; background:var(--bg); box-sizing:border-box }
.brand-mark span:nth-child(2){ border-color:var(--accent) }

/* TOPBAR */
.topbar{ height:60px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:280px 1fr auto; align-items:center; padding:0 20px 0 0; background:var(--bg); position:sticky; top:0; z-index:50 }
.brand{ display:flex; align-items:center; gap:12px; padding:0 22px; height:100%; border-right:1px solid var(--line); cursor:pointer }
.brand-text{ display:flex; flex-direction:column; gap:5px; line-height:1 }
.brand-name{ font-family:"Instrument Serif",serif; font-size:21px; letter-spacing:.01em; line-height:1 }
.brand-name em{ color:var(--accent); font-style:italic }
.brand-domain{ font-family:"JetBrains Mono",monospace; font-size:8.5px; color:var(--muted); letter-spacing:.16em; text-transform:uppercase }
.brand-domain b{ color:var(--accent); font-weight:500 }
.production-switch{ display:flex; align-items:center; gap:14px; font-size:13px; position:relative }
.prod-pill{ display:inline-flex; align-items:center; gap:8px; padding:6px 12px 6px 14px; border:1px solid var(--line-2); border-radius:3px; background:var(--bg-2); cursor:pointer; position:relative }
.prod-pill::before{ content:""; position:absolute; left:0; top:2px; bottom:2px; width:3px; background:var(--accent); border-radius:1px }
.prod-pill:hover{ border-color:var(--dim) }
.prod-pill .code{ font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--muted) }
.prod-pill svg{ opacity:.5 }
.prod-dropdown{ position:absolute; top:42px; left:0; min-width:280px; background:var(--bg-2); border:1px solid var(--line-2); border-radius:3px; padding:6px; z-index:100; display:none; box-shadow:0 12px 32px rgba(0,0,0,.5) }
.prod-dropdown.open{ display:block }
.prod-dropdown-item{ display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; padding:8px 10px; border-radius:2px; cursor:pointer }
.prod-dropdown-item:hover{ background:var(--bg-3) }
.prod-dropdown-item.active{ background:linear-gradient(90deg, rgba(232,181,71,.08), transparent) }
.breadcrumb{ font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--muted); letter-spacing:.04em; text-transform:uppercase }
.breadcrumb span{ color:var(--text) }
.topbar-right{ display:flex; align-items:center; gap:14px; font-size:13px }
.search{ display:flex; align-items:center; gap:8px; padding:6px 12px; border:1px solid var(--line-2); border-radius:3px; background:var(--bg-2); color:var(--muted); min-width:240px }
.search input{ flex:1; color:var(--text); font-size:13px }
.search input::placeholder{ color:var(--muted) }
.search kbd{ font-family:"JetBrains Mono",monospace; font-size:10px; padding:1px 5px; border:1px solid var(--line-2); border-radius:2px; color:var(--muted) }
.icon-btn{ width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--line-2); border-radius:3px; cursor:pointer; background:var(--bg-2); color:var(--muted); position:relative }
.icon-btn:hover{ color:var(--text) }
.icon-btn .badge{ position:absolute; top:-4px; right:-4px; background:var(--accent-2); color:#000; font-family:"JetBrains Mono",monospace; font-size:9px; font-weight:600; width:14px; height:14px; border-radius:50%; display:grid; place-items:center }
.avatar{ width:30px; height:30px; border-radius:50%; background:linear-gradient(135deg,#5a4a2a,#2a2520); display:grid; place-items:center; font-size:11px; color:var(--accent); font-family:"JetBrains Mono",monospace; font-weight:600; border:1px solid var(--line-2) }

/* TAB BAR */
.tabbar{ display:flex; align-items:flex-end; padding:0 22px; height:40px; background:var(--bg-2); border-bottom:1px solid var(--line); gap:2px; position:sticky; top:60px; z-index:49 }
.tab{ display:flex; align-items:center; gap:8px; padding:9px 16px 10px; font-size:12px; color:var(--muted); cursor:pointer; border:1px solid transparent; border-bottom:none; border-radius:4px 4px 0 0; position:relative; top:1px; transition:color .15s, background .15s }
.tab:hover{ color:var(--text) }
.tab.active{ color:var(--text); background:var(--bg); border-color:var(--line) }
.tab.active::before{ content:""; position:absolute; left:0; right:0; top:-1px; height:2px; background:var(--accent) }
.tab .tab-dot{ width:6px; height:6px; border-radius:50%; background:var(--dim) }
.tab.active .tab-dot{ background:var(--accent); box-shadow:0 0 6px rgba(232,181,71,.6) }
.tab-count{ font-family:"JetBrains Mono",monospace; font-size:9px; color:var(--dim); margin-left:2px }
.tab.active .tab-count{ color:var(--accent) }

/* LAYOUT */
.app{ display:grid; grid-template-columns:280px 1fr 320px; min-height:calc(100vh - 100px) }
.app.no-right{ grid-template-columns:280px 1fr }

/* SIDEBAR */
.sidebar{ border-right:1px solid var(--line); background:var(--bg); display:flex; flex-direction:column }
.nav-section{ padding:18px 0 8px }
.nav-label{ padding:0 22px 10px; font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--dim); letter-spacing:.18em; text-transform:uppercase }
.nav-item{ display:flex; align-items:center; gap:12px; padding:8px 22px; font-size:13.5px; color:var(--muted); cursor:pointer; border-left:2px solid transparent; transition:color .15s }
.nav-item:hover{ color:var(--text) }
.nav-item.active{ color:var(--text); border-left-color:var(--accent); background:linear-gradient(90deg, rgba(232,181,71,.06), transparent 60%) }
.nav-item .count{ margin-left:auto; font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--dim) }
.nav-item.active .count{ color:var(--accent) }
.nav-icon{ width:14px; height:14px; opacity:.8 }
.productions-list{ margin-top:auto; padding:14px 0; border-top:1px solid var(--line) }
.prod-card{ padding:10px 22px; cursor:pointer; display:grid; grid-template-columns:auto 1fr auto; gap:11px; align-items:center }
.prod-card:hover{ background:var(--bg-2) }
.prod-card.active{ background:linear-gradient(90deg, rgba(232,181,71,.04), transparent) }
.prod-binder{ width:30px; height:42px; border-radius:1px 2px 2px 1px; position:relative; overflow:hidden; border:1px solid var(--line-2) }
.prod-binder::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; border-right:1px solid rgba(0,0,0,.3) }
.prod-binder::after{ content:""; position:absolute; left:7px; top:8px; right:5px; bottom:8px; background:repeating-linear-gradient(to bottom, currentColor 0 1px, transparent 1px 5px); opacity:.35 }
.prod-binder.amber{ background:linear-gradient(180deg,#2a2520,#0a0a0b); color:var(--accent) }
.prod-binder.amber::before{ background:var(--accent) }
.prod-binder.red{ background:linear-gradient(180deg,#c41e3a,#2a0a10); color:#ffb0c0 }
.prod-binder.red::before{ background:#ff4060 }
.prod-binder.blue{ background:linear-gradient(180deg,#1a3a4a,#0a1a20); color:#9ec5ff }
.prod-binder.blue::before{ background:#5090c0 }
.prod-binder.green{ background:linear-gradient(180deg,#2a4a2a,#0a1a0a); color:#9eff9e }
.prod-binder.green::before{ background:#50c050 }
.prod-info .ttl{ font-size:12.5px; color:var(--text); font-weight:500 }
.prod-info .meta{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--muted); margin-top:2px }
.prod-status{ width:6px; height:6px; border-radius:50%; background:var(--good); box-shadow:0 0 8px rgba(126,194,122,.6) }
.prod-status.prep{ background:var(--accent); box-shadow:0 0 8px rgba(232,181,71,.6) }
.prod-status.wrap{ background:var(--dim); box-shadow:none }
.sidebar-foot{ padding:14px 22px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; font-family:"JetBrains Mono",monospace; font-size:9.5px; color:var(--dim); letter-spacing:.14em }

/* MAIN */
.main{ background:var(--bg); overflow-x:hidden }

/* PAGE HEADER (shared) */
.page-header{ padding:32px 36px 28px; border-bottom:1px solid var(--line); position:relative; overflow:hidden }
.page-header::before{ content:""; position:absolute; right:-100px; top:-100px; width:400px; height:400px; background:radial-gradient(circle, rgba(232,181,71,.06), transparent 60%); pointer-events:none }
.ph-top{ display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:24px }
.ph-eyebrow{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--accent); letter-spacing:.2em; text-transform:uppercase; margin-bottom:8px }
.ph-title{ font-family:"Instrument Serif",serif; font-size:42px; font-weight:400; line-height:1; letter-spacing:-.01em }
.ph-title em{ color:var(--accent); font-style:italic }
.ph-sub{ margin-top:10px; font-size:13px; color:var(--muted); display:flex; gap:18px; align-items:center; flex-wrap:wrap }
.ph-sub .sep{ width:3px; height:3px; border-radius:50%; background:var(--dim) }
.ph-actions{ display:flex; gap:8px }
.btn{ padding:8px 14px; border-radius:3px; font-size:12px; font-weight:500; cursor:pointer; font-family:"Funnel Sans",sans-serif; display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line-2); background:var(--bg-2); color:var(--text) }
.btn:hover{ border-color:var(--dim) }
.btn.primary{ background:var(--accent); color:#1a1408; border-color:var(--accent); font-weight:600 }
.btn.primary:hover{ background:#f0c25e }
.btn .dot{ width:6px; height:6px; border-radius:50%; background:var(--good) }
.btn.sm{ padding:5px 10px; font-size:11px }
.btn.ghost{ background:transparent; border-color:transparent; color:var(--muted) }
.btn.ghost:hover{ color:var(--text); border-color:var(--line-2) }

.ph-stats{ display:grid; grid-template-columns:repeat(6,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:3px; overflow:hidden }
.stat{ background:var(--bg); padding:14px 16px; display:flex; flex-direction:column; gap:6px }
.stat-label{ font-family:"JetBrains Mono",monospace; font-size:9.5px; color:var(--muted); letter-spacing:.16em; text-transform:uppercase }
.stat-val{ font-size:18px; font-weight:500; color:var(--text); font-family:"Instrument Serif",serif; line-height:1 }
.stat-val.mono{ font-family:"JetBrains Mono",monospace; font-size:14px; font-weight:500 }
.stat-val small{ font-size:11px; color:var(--muted); margin-left:4px; font-family:"Funnel Sans",sans-serif }
.stat-meta{ font-size:10.5px; color:var(--muted) }
.stat-meta.good{ color:var(--good) }
.stat-meta.bad{ color:var(--bad) }

/* SECTIONS */
.section{ padding:24px 36px; border-bottom:1px solid var(--line) }
.section:last-child{ border-bottom:none }
.section-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px }
.section-title{ font-family:"Instrument Serif",serif; font-size:22px }
.section-title small{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--muted); margin-left:10px; letter-spacing:.1em }
.filter-row{ display:flex; gap:6px; font-size:11.5px }
.filter{ padding:5px 10px; border:1px solid var(--line-2); border-radius:2px; color:var(--muted); cursor:pointer; background:var(--bg-2) }
.filter.on{ color:var(--text); border-color:var(--dim); background:var(--bg-3) }
.filter:hover{ color:var(--text) }

/* TIMING STRIP */
.strip-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px }
.strip-title{ font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--muted); letter-spacing:.16em; text-transform:uppercase }
.strip-legend{ display:flex; gap:14px; font-size:11px; color:var(--muted) }
.legend-chip{ display:inline-flex; align-items:center; gap:5px }
.legend-chip span{ width:8px; height:8px; border-radius:2px }
.strip-track{ position:relative; height:48px; background:var(--bg-2); border:1px solid var(--line); border-radius:3px; overflow:hidden }
.strip-hours{ position:absolute; inset:0; display:grid; grid-template-columns:repeat(14,1fr); pointer-events:none }
.strip-hours > div{ border-right:1px solid var(--line); position:relative }
.strip-hours > div::after{ content:attr(data-h); position:absolute; bottom:2px; left:4px; font-family:"JetBrains Mono",monospace; font-size:9px; color:var(--dim) }
.strip-block{ position:absolute; top:8px; height:32px; border-radius:2px; padding:5px 8px; font-family:"JetBrains Mono",monospace; font-size:10px; overflow:hidden; white-space:nowrap; border:1px solid rgba(255,255,255,.08) }
.strip-block.crew-call{ background:rgba(122,122,130,.2); color:var(--muted) }
.strip-block.bkfst{ background:rgba(232,181,71,.15); color:var(--accent) }
.strip-block.scene{ background:rgba(232,181,71,.85); color:#1a1408; font-weight:600 }
.strip-block.lunch{ background:rgba(126,194,122,.2); color:var(--good) }
.strip-block.wrap{ background:rgba(122,122,130,.2); color:var(--muted) }
.strip-now{ position:absolute; top:0; bottom:0; width:1px; background:var(--accent-2); z-index:5 }
.strip-now::before{ content:""; position:absolute; top:-4px; left:-4px; width:9px; height:9px; background:var(--accent-2); border-radius:50% }
.strip-now::after{ content:attr(data-label); position:absolute; top:-22px; left:-30px; font-family:"JetBrains Mono",monospace; font-size:9px; color:var(--accent-2); font-weight:600; white-space:nowrap }

/* SCENES */
.scenes-table{ border:1px solid var(--line); border-radius:3px; overflow-x:auto }
.scene-row{ display:grid; grid-template-columns:60px 60px 1fr 90px 100px 140px 80px; min-width:700px; align-items:center; padding:14px 16px; border-bottom:1px solid var(--line); font-size:13px; cursor:pointer; transition:background .12s }
.scene-row:last-child{ border-bottom:none }
.scene-row:hover{ background:var(--bg-2) }
.scene-row.done{ opacity:.5 }
.scene-row.shooting{ background:linear-gradient(90deg, rgba(232,181,71,.08), transparent); border-left:2px solid var(--accent) }
.scene-num{ font-family:"JetBrains Mono",monospace; font-weight:600; font-size:13px }
.scene-pages{ font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--muted) }
.scene-desc{ padding-right:20px }
.scene-desc .int-ext{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--accent); letter-spacing:.1em }
.scene-desc .title{ display:block; margin-top:2px; color:var(--text) }
.scene-cast{ display:flex }
.cast-bubble{ width:22px; height:22px; border-radius:50%; border:2px solid var(--bg); margin-left:-6px; font-family:"JetBrains Mono",monospace; font-size:9px; display:grid; place-items:center; color:#0a0a0b; font-weight:600 }
.cast-bubble:first-child{ margin-left:0 }
.scene-loc{ font-size:11.5px; color:var(--muted) }
.scene-loc .pin::before{ content:"·"; color:var(--accent); margin-right:4px }
.scene-status{ font-family:"JetBrains Mono",monospace; font-size:10px; padding:3px 7px; border-radius:2px; display:inline-flex; align-items:center; gap:5px; letter-spacing:.06em }
.scene-status.complete{ background:rgba(126,194,122,.1); color:var(--good) }
.scene-status.shooting{ background:var(--accent); color:#1a1408; font-weight:600 }
.scene-status.shooting::before{ content:""; width:6px; height:6px; border-radius:50%; background:#1a1408; animation:pulse 1.4s infinite }
.scene-status.upcoming{ background:var(--bg-3); color:var(--muted) }
.scene-est{ font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--muted); text-align:right }
@keyframes pulse{ 50%{ opacity:.3 } }
.no-results{ padding:40px; text-align:center; color:var(--muted); font-size:13px }
.no-results .big{ font-family:"Instrument Serif",serif; font-size:24px; color:var(--text); margin-bottom:8px; font-style:italic }

/* BOTTOM ROW CARDS */
.bottom-row{ padding:24px 36px 40px; display:grid; grid-template-columns:1fr 1fr; gap:24px }
.card{ border:1px solid var(--line); border-radius:3px; padding:20px; background:var(--bg); position:relative; overflow:hidden }
.card-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px }
.card-title{ font-family:"JetBrains Mono",monospace; font-size:10.5px; color:var(--muted); letter-spacing:.18em; text-transform:uppercase }
.card-link{ font-size:11px; color:var(--accent); cursor:pointer }
.budget-big{ font-family:"Instrument Serif",serif; font-size:36px; line-height:1; margin-bottom:4px }
.budget-big em{ color:var(--accent); font-style:italic }
.budget-sub{ font-size:12px; color:var(--muted); margin-bottom:18px }
.budget-bar{ height:6px; background:var(--bg-3); border-radius:1px; overflow:hidden; margin-bottom:18px; display:flex }
.budget-bar > div{ height:100% }
.bb-spent{ background:var(--accent) }
.bb-committed{ background:rgba(232,181,71,.4) }
.bb-remaining{ background:var(--line-2); flex:1 }
.budget-breakdown{ display:grid; grid-template-columns:1fr 1fr; gap:12px 24px }
.bb-row{ display:flex; align-items:center; justify-content:space-between; font-size:12px; padding:6px 0; border-bottom:1px dashed var(--line) }
.bb-row .lbl{ display:flex; align-items:center; gap:8px; color:var(--muted) }
.bb-row .lbl .swatch{ width:8px; height:8px; border-radius:1px }
.bb-row .val{ font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--text) }
.bb-row.over .val{ color:var(--bad) }
.weather-grid{ display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:center }
.weather-icon{ font-family:"Instrument Serif",serif; font-size:80px; color:var(--accent); line-height:1; font-style:italic }
.weather-temp{ font-family:"Instrument Serif",serif; font-size:48px; line-height:1 }
.weather-cond{ font-size:13px; color:var(--muted); margin-top:6px }
.weather-details{ margin-top:18px; padding-top:18px; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(4, 1fr); gap:12px }
.wd-item .lbl{ font-family:"JetBrains Mono",monospace; font-size:9px; color:var(--muted); letter-spacing:.14em; text-transform:uppercase; margin-bottom:4px }
.wd-item .val{ font-family:"JetBrains Mono",monospace; font-size:13px; color:var(--text) }
.wd-item .val.warn{ color:var(--accent-2) }

/* RIGHT PANE */
.rightpane{ border-left:1px solid var(--line); background:var(--bg-2) }
.rp-section{ padding:22px 22px; border-bottom:1px solid var(--line) }
.rp-section:last-child{ border-bottom:none }
.rp-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px }
.rp-title{ font-family:"JetBrains Mono",monospace; font-size:10.5px; color:var(--text); letter-spacing:.18em; text-transform:uppercase }
.rp-count{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--muted) }
.calltime-list{ display:flex; flex-direction:column; gap:10px }
.ct-row{ display:grid; grid-template-columns:60px 1fr auto; align-items:center; gap:10px; font-size:12px }
.ct-time{ font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--accent) }
.ct-dept{ display:flex; align-items:center; gap:8px; color:var(--text) }
.ct-swatch{ width:3px; height:14px; border-radius:1px }
.ct-count{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--muted) }
.talent-list{ display:flex; flex-direction:column; gap:14px }
.talent-row{ display:grid; grid-template-columns:36px 1fr auto; align-items:center; gap:12px; cursor:pointer; padding:4px; margin:-4px; border-radius:3px }
.talent-row:hover{ background:var(--bg-3) }
.talent-avatar{ width:36px; height:36px; border-radius:50%; display:grid; place-items:center; font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--text); font-weight:600; border:1px solid var(--line-2); position:relative }
.talent-status-dot{ position:absolute; bottom:-1px; right:-1px; width:10px; height:10px; border-radius:50%; border:2px solid var(--bg-2) }
.talent-status-dot.set{ background:var(--good) }
.talent-status-dot.mu{ background:var(--accent) }
.talent-status-dot.travel{ background:var(--info) }
.talent-status-dot.hold{ background:var(--dim) }
.talent-info .name{ font-size:12.5px; color:var(--text); font-weight:500 }
.talent-info .role{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--muted); margin-top:1px }
.talent-stat{ font-family:"JetBrains Mono",monospace; font-size:9.5px; padding:3px 6px; border-radius:2px; letter-spacing:.06em; cursor:pointer }
.talent-stat.set{ background:rgba(126,194,122,.15); color:var(--good) }
.talent-stat.mu{ background:rgba(232,181,71,.15); color:var(--accent) }
.talent-stat.travel{ background:rgba(158,197,255,.15); color:var(--info) }
.talent-stat.hold{ background:var(--bg-3); color:var(--muted) }
.truck-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px }
.truck{ border:1px solid var(--line); border-radius:3px; padding:10px 12px; background:var(--bg) }
.truck-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px }
.truck-name{ font-family:"JetBrains Mono",monospace; font-size:10px; letter-spacing:.1em }
.truck-status{ font-family:"JetBrains Mono",monospace; font-size:9px; padding:1px 5px; border-radius:1px }
.truck-status.on{ background:rgba(126,194,122,.15); color:var(--good) }
.truck-status.transit{ background:rgba(158,197,255,.15); color:var(--info) }
.truck-meta{ font-size:10.5px; color:var(--muted) }
.truck-eta{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--accent); margin-top:4px }
.flag-list{ display:flex; flex-direction:column; gap:10px }
.flag{ display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:flex-start; padding:10px 12px; border:1px solid var(--line); border-radius:3px; background:var(--bg); cursor:pointer }
.flag.high{ border-left:2px solid var(--accent-2) }
.flag.med{ border-left:2px solid var(--accent) }
.flag.low{ border-left:2px solid var(--info) }
.flag-mark{ width:14px; height:14px; border-radius:50%; display:grid; place-items:center; font-family:"JetBrains Mono",monospace; font-size:9px; font-weight:700 }
.flag.high .flag-mark{ background:var(--accent-2); color:#1a0805 }
.flag.med .flag-mark{ background:var(--accent); color:#1a1408 }
.flag.low .flag-mark{ background:var(--info); color:#08101a }
.flag-body .title{ font-size:12px; color:var(--text); font-weight:500; line-height:1.3 }
.flag-body .meta{ font-family:"JetBrains Mono",monospace; font-size:9.5px; color:var(--muted); margin-top:3px; letter-spacing:.05em }
.loc-card{ border-radius:3px; overflow:hidden; border:1px solid var(--line) }
.loc-map{ height:120px; position:relative; background: linear-gradient(180deg, rgba(0,0,0,.3), transparent 40%), repeating-linear-gradient(45deg, #1a1a20 0 1px, transparent 1px 8px), repeating-linear-gradient(-45deg, #1a1a20 0 1px, transparent 1px 8px), #0e0e12 }
.loc-pin{ position:absolute; top:48%; left:52%; transform:translate(-50%,-50%) }
.loc-pin::before{ content:""; position:absolute; inset:-20px; border:1px solid rgba(232,181,71,.3); border-radius:50%; animation:ripple 2.4s infinite }
.loc-pin::after{ content:""; position:absolute; inset:-30px; border:1px solid rgba(232,181,71,.15); border-radius:50%; animation:ripple 2.4s infinite .6s }
@keyframes ripple{ 0%{ transform:scale(.6); opacity:1 } 100%{ transform:scale(1.3); opacity:0 } }
.loc-pin-dot{ width:10px; height:10px; background:var(--accent); border-radius:50%; box-shadow:0 0 12px rgba(232,181,71,.8); position:relative; z-index:2 }
.loc-info{ padding:12px; background:var(--bg); display:flex; justify-content:space-between; align-items:center }
.loc-info .name{ font-size:12px; color:var(--text); font-weight:500 }
.loc-info .addr{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--muted); margin-top:2px }
.loc-info .dist{ font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--accent); text-align:right }
.loc-info .dist small{ display:block; color:var(--muted); font-size:9px }

/* CALL SHEET */
.callsheet{ max-width:980px; margin:32px auto; padding:0 36px 60px }
.cs-paper{ background:var(--bg-2); border:1px solid var(--line); border-radius:3px; padding:36px 40px; position:relative }
.cs-paper::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg, var(--accent), var(--accent-2)) }
.cs-header{ display:grid; grid-template-columns:1fr auto 1fr; gap:24px; padding-bottom:20px; border-bottom:2px solid var(--text); margin-bottom:24px }
.cs-prod{ font-size:12px; color:var(--muted) }
.cs-prod .row{ display:flex; gap:8px; margin-bottom:4px }
.cs-prod .lbl{ font-family:"JetBrains Mono",monospace; font-size:9.5px; color:var(--dim); letter-spacing:.12em; text-transform:uppercase; min-width:54px }
.cs-prod .val{ color:var(--text) }
.cs-center{ text-align:center }
.cs-center .title{ font-family:"Instrument Serif",serif; font-size:32px; line-height:1; margin-bottom:8px }
.cs-center .title em{ color:var(--accent); font-style:italic }
.cs-center .meta{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--muted); letter-spacing:.16em }
.cs-times{ text-align:right; font-size:12px; color:var(--muted) }
.cs-times .crew-call{ font-family:"Instrument Serif",serif; font-size:28px; color:var(--accent); line-height:1; margin-bottom:6px }
.cs-times .crew-call-lbl{ font-family:"JetBrains Mono",monospace; font-size:9px; color:var(--muted); letter-spacing:.18em }
.cs-warning{ background:linear-gradient(90deg, rgba(255,95,58,.1), transparent 80%); border-left:3px solid var(--accent-2); padding:12px 16px; margin-bottom:24px; font-size:12.5px }
.cs-warning .lbl{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--accent-2); letter-spacing:.18em; margin-bottom:4px }
.cs-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px }
.cs-block .cs-label{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--accent); letter-spacing:.18em; text-transform:uppercase; padding-bottom:8px; border-bottom:1px solid var(--line); margin-bottom:12px }
.cs-line{ display:grid; grid-template-columns:80px 1fr; padding:5px 0; font-size:12px; gap:12px }
.cs-line .k{ color:var(--muted); font-family:"JetBrains Mono",monospace; font-size:11px }
.cs-line .v{ color:var(--text) }
.cs-table{ width:100%; border-collapse:collapse; font-size:12px; margin-bottom:24px }
.cs-table thead{ background:var(--bg-3) }
.cs-table th{ font-family:"JetBrains Mono",monospace; font-size:9.5px; font-weight:500; color:var(--muted); letter-spacing:.14em; text-transform:uppercase; padding:10px 12px; text-align:left; border-bottom:1px solid var(--line-2) }
.cs-table td{ padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top }
.cs-table td.mono{ font-family:"JetBrains Mono",monospace; font-size:11px }
.cs-table tr:last-child td{ border-bottom:none }
.cs-table .accent{ color:var(--accent) }
.cs-section-title{ font-family:"Instrument Serif",serif; font-size:20px; margin:24px 0 12px; padding-bottom:8px; border-bottom:1px solid var(--line) }

/* STRIP BOARD */
.stripboard-wrap{ padding:0 36px 40px }
.sb-toolbar{ display:flex; align-items:center; justify-content:space-between; padding:18px 0; border-bottom:1px solid var(--line); margin-bottom:24px }
.sb-tabs{ display:flex; gap:1px; background:var(--line); border-radius:3px; padding:1px }
.sb-tab{ padding:7px 14px; font-size:12px; cursor:pointer; color:var(--muted); background:var(--bg) }
.sb-tab.on{ background:var(--accent); color:#1a1408; font-weight:600 }
.stripboard{ border:1px solid var(--line); border-radius:3px; overflow-x:auto; display:flex; flex-direction:column }
.strip{ display:grid; grid-template-columns:36px 60px 70px 60px 1fr 100px 110px 70px; min-width:640px; align-items:stretch; border-bottom:1px solid var(--line); font-size:11.5px; min-height:36px; cursor:pointer }
.strip:hover{ background:var(--bg-2) }
.strip:last-child{ border-bottom:none }
.strip.day-break{ background:var(--bg-3); color:var(--accent); font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.12em; padding:8px 14px; grid-template-columns:1fr; cursor:default }
.strip.day-break:hover{ background:var(--bg-3) }
.strip.shooting{ border-left:3px solid var(--accent) }
.strip-cell{ padding:8px 10px; display:flex; align-items:center; font-family:"JetBrains Mono",monospace; font-size:10.5px; color:var(--text); border-right:1px solid var(--line) }
.strip-cell:last-child{ border-right:none }
.strip-cell.handle{ background:var(--bg-3); color:var(--dim); cursor:grab; justify-content:center }
.strip-cell.scene-no{ color:var(--accent); font-weight:600 }
.strip-cell.desc{ font-family:"Funnel Sans",sans-serif; font-size:12px }
.strip-cell.muted{ color:var(--muted) }
.strip-cell.dn{ font-weight:600 }
.strip-cell.dn.D{ color:var(--accent) }
.strip-cell.dn.N{ color:var(--info) }
.strip-cell.status-pill{ font-family:"JetBrains Mono",monospace; font-size:9px; padding:2px 6px; border-radius:2px }

/* CREW */
.crew-wrap{ padding:0 36px 40px }
.crew-toolbar{ display:flex; align-items:center; justify-content:space-between; padding:18px 0; border-bottom:1px solid var(--line); margin-bottom:24px }
.crew-table{ border:1px solid var(--line); border-radius:3px; overflow-x:auto }
.crew-row{ display:grid; grid-template-columns:auto 1fr 140px 100px 110px 80px; min-width:560px; gap:14px; align-items:center; padding:12px 16px; border-bottom:1px solid var(--line); font-size:13px }
.crew-row:last-child{ border-bottom:none }
.crew-row.head{ background:var(--bg-3); padding:10px 16px; font-family:"JetBrains Mono",monospace; font-size:9.5px; color:var(--muted); letter-spacing:.14em; text-transform:uppercase }
.crew-row:hover:not(.head){ background:var(--bg-2) }
.crew-avatar{ width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,#3a3a3a,#1a1a1a); display:grid; place-items:center; font-family:"JetBrains Mono",monospace; font-size:11px; font-weight:600; color:var(--text); border:1px solid var(--line-2); position:relative }
.crew-avatar::after{ content:""; position:absolute; bottom:-1px; right:-1px; width:8px; height:8px; border-radius:50%; background:var(--good); border:2px solid var(--bg) }
.crew-name{ display:flex; flex-direction:column }
.crew-name .nm{ color:var(--text); font-weight:500 }
.crew-name .em{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--muted); margin-top:2px }
.crew-dept{ display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--muted) }
.crew-dept .ds{ width:3px; height:14px; border-radius:1px }
.crew-position{ font-size:12px; color:var(--text) }
.crew-call{ font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--accent) }
.crew-rate{ font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--muted); text-align:right }

/* BUDGET */
.budget-wrap{ padding:0 36px 40px }
.budget-summary{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:24px; padding:24px 0; border-bottom:1px solid var(--line); margin-bottom:24px }
.bs-big{ font-family:"Instrument Serif",serif; font-size:64px; line-height:1; margin-bottom:8px }
.bs-big em{ color:var(--accent); font-style:italic }
.bs-sub{ font-size:13px; color:var(--muted); margin-bottom:16px }
.bs-bar{ height:8px; background:var(--bg-3); border-radius:1px; overflow:hidden; display:flex }
.bs-bar > div{ height:100% }
.bs-card{ border:1px solid var(--line); border-radius:3px; padding:18px }
.bs-card .lbl{ font-family:"JetBrains Mono",monospace; font-size:9.5px; color:var(--muted); letter-spacing:.16em; text-transform:uppercase; margin-bottom:8px }
.bs-card .val{ font-family:"Instrument Serif",serif; font-size:28px; line-height:1; margin-bottom:6px }
.bs-card .val.bad{ color:var(--bad) }
.bs-card .val.good{ color:var(--good) }
.bs-card .meta{ font-size:11px; color:var(--muted) }
.budget-table{ border:1px solid var(--line); border-radius:3px; overflow-x:auto }
.bt-row{ display:grid; grid-template-columns:24px 200px 1fr 110px 110px 110px 70px; min-width:700px; gap:14px; align-items:center; padding:12px 16px; border-bottom:1px solid var(--line); font-size:12px }
.bt-row.head{ background:var(--bg-3); font-family:"JetBrains Mono",monospace; font-size:9.5px; color:var(--muted); letter-spacing:.14em; text-transform:uppercase }
.bt-row:last-child{ border-bottom:none }
.bt-row:hover:not(.head){ background:var(--bg-2) }
.bt-swatch{ width:8px; height:16px; border-radius:1px }
.bt-dept{ color:var(--text); font-weight:500 }
.bt-bar{ height:6px; background:var(--bg-3); border-radius:1px; overflow:hidden; position:relative }
.bt-bar > div{ height:100%; background:var(--accent) }
.bt-bar.over > div{ background:var(--bad) }
.bt-num{ font-family:"JetBrains Mono",monospace; font-size:11.5px; color:var(--text); text-align:right }
.bt-num.bad{ color:var(--bad) }
.bt-num.good{ color:var(--good) }
.bt-pct{ font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--muted); text-align:right }
.bt-pct.bad{ color:var(--bad) }

/* LOCATIONS */
.locations-wrap{ padding:0 36px 40px }
.loc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; padding-top:24px }
.loc-tile{ border:1px solid var(--line); border-radius:3px; overflow:hidden; background:var(--bg) }
.loc-tile-head{ height:140px; position:relative; background: linear-gradient(180deg, rgba(0,0,0,.3), transparent 40%), repeating-linear-gradient(45deg, #1a1a20 0 1px, transparent 1px 12px), repeating-linear-gradient(-45deg, #1a1a20 0 1px, transparent 1px 12px), #0e0e12 }
.loc-tile-pin{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) }
.loc-tile-pin-dot{ width:14px; height:14px; background:var(--accent); border-radius:50%; box-shadow:0 0 16px rgba(232,181,71,.9); position:relative; z-index:2 }
.loc-tile-pin::before{ content:""; position:absolute; inset:-22px; border:1px solid rgba(232,181,71,.3); border-radius:50%; animation:ripple 2.4s infinite }
.loc-tile-type{ position:absolute; top:12px; left:14px; font-family:"JetBrains Mono",monospace; font-size:9.5px; color:var(--text); background:rgba(0,0,0,.6); padding:3px 8px; border-radius:2px; letter-spacing:.14em }
.loc-tile-dist{ position:absolute; top:12px; right:14px; font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--accent); background:rgba(0,0,0,.6); padding:4px 10px; border-radius:2px }
.loc-tile-body{ padding:16px }
.loc-tile-name{ font-family:"Instrument Serif",serif; font-size:22px; line-height:1.1; margin-bottom:4px }
.loc-tile-addr{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--muted); letter-spacing:.1em; margin-bottom:14px }
.loc-tile-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:2px; overflow:hidden }
.loc-tile-stat{ background:var(--bg-2); padding:8px 10px }
.loc-tile-stat .l{ font-family:"JetBrains Mono",monospace; font-size:9px; color:var(--muted); letter-spacing:.12em; text-transform:uppercase; margin-bottom:3px }
.loc-tile-stat .v{ font-family:"JetBrains Mono",monospace; font-size:13px; color:var(--text) }

/* MODAL */
.modal-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.7); z-index:300; display:none; align-items:center; justify-content:center }
.modal-backdrop.open{ display:flex }
.modal{ background:var(--bg); border:1px solid var(--line-2); border-radius:4px; min-width:460px; max-width:560px; box-shadow:0 24px 64px rgba(0,0,0,.5) }
.modal-head{ padding:20px 24px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center }
.modal-head h3{ font-family:"Instrument Serif",serif; font-size:22px; font-weight:400 }
.modal-body{ padding:20px 24px }
.modal-foot{ padding:14px 24px; border-top:1px solid var(--line); display:flex; justify-content:flex-end; gap:8px }
.field{ margin-bottom:14px }
.field label{ display:block; font-family:"JetBrains Mono",monospace; font-size:9.5px; color:var(--muted); letter-spacing:.16em; text-transform:uppercase; margin-bottom:6px }
.field input, .field select, .field textarea{ width:100%; padding:8px 10px; background:var(--bg-2); border:1px solid var(--line-2); border-radius:2px; font-size:13px; color:var(--text) }
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--accent) }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px }

/* TOAST */
.toasts{ position:fixed; bottom:24px; right:24px; z-index:400; display:flex; flex-direction:column; gap:8px }
.toast{ padding:12px 16px; background:var(--bg-2); border:1px solid var(--line-2); border-radius:3px; font-size:13px; box-shadow:0 8px 24px rgba(0,0,0,.4); min-width:280px; display:flex; align-items:center; gap:10px; animation:slideIn .2s ease }
.toast.success{ border-left:3px solid var(--good) }
.toast.warn{ border-left:3px solid var(--accent) }
.toast.error{ border-left:3px solid var(--bad) }
.toast .ico{ font-family:"JetBrains Mono",monospace; font-weight:700 }
.toast.success .ico{ color:var(--good) }
.toast.warn .ico{ color:var(--accent) }
.toast.error .ico{ color:var(--bad) }
@keyframes slideIn{ from{ transform:translateX(20px); opacity:0 } to{ transform:translateX(0); opacity:1 } }

/* DRAWER */
.drawer-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:280; display:none }
.drawer-backdrop.open{ display:block }
.drawer{ position:fixed; top:0; right:0; bottom:0; width:480px; background:var(--bg); border-left:1px solid var(--line-2); z-index:290; transform:translateX(100%); transition:transform .25s ease; overflow-y:auto }
.drawer.open{ transform:translateX(0) }
.drawer-head{ padding:24px; border-bottom:1px solid var(--line); position:sticky; top:0; background:var(--bg); z-index:2 }
.drawer-eyebrow{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--accent); letter-spacing:.18em; margin-bottom:6px }
.drawer-title{ font-family:"Instrument Serif",serif; font-size:28px; line-height:1.1; margin-bottom:10px }
.drawer-close{ position:absolute; top:20px; right:20px }
.drawer-body{ padding:24px }
.drawer-section{ margin-bottom:24px }
.drawer-section h4{ font-family:"JetBrains Mono",monospace; font-size:10px; color:var(--muted); letter-spacing:.18em; text-transform:uppercase; margin-bottom:10px }
.drawer-row{ display:flex; justify-content:space-between; padding:8px 0; font-size:13px; border-bottom:1px dashed var(--line) }
.drawer-row .k{ color:var(--muted) }
.drawer-actions{ display:flex; gap:8px; padding:24px; border-top:1px solid var(--line) }

/* ============================================================
   RESPONSIVE + PRINT (added)
   ============================================================ */
.nav-toggle{ display:none; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid var(--line-2); border-radius:3px; color:var(--text); cursor:pointer; background:var(--bg-2); flex:0 0 auto }
.nav-backdrop{ display:none }

@media (max-width:1180px){
  .topbar{ grid-template-columns:240px 1fr auto }
  .app{ grid-template-columns:240px 1fr 280px }
  .app.no-right{ grid-template-columns:240px 1fr }
  .scene-row{ grid-template-columns:54px 54px 1fr 80px 90px 0 70px }
  .bt-row{ grid-template-columns:24px 150px 1fr 90px 90px 90px 60px }
}

@media (max-width:1000px){
  .rightpane{ display:none !important }
  .app{ grid-template-columns:240px 1fr }
  .ph-stats{ grid-template-columns:repeat(3,1fr) }
  .bottom-row, .cs-grid, .budget-summary, .loc-grid, .weather-details, .budget-breakdown{ grid-template-columns:1fr }
}

@media (max-width:780px){
  html,body{ min-width:0 }
  .nav-toggle{ display:flex }

  /* topbar collapses to a flex row */
  .topbar{ display:flex; align-items:center; gap:10px; height:56px; padding:0 12px }
  .brand{ flex:0 0 auto }
  .brand-domain{ display:none }
  .production-switch{ flex:1 1 auto; min-width:0; position:static }
  .breadcrumb{ display:none }
  .search{ display:none }
  .prod-pill{ max-width:100%; overflow:hidden }
  .topbar-right{ flex:0 0 auto; gap:8px }
  .icon-btn{ display:none }
  .avatar{ display:flex }
  .prod-dropdown{ left:12px; right:12px; width:auto }

  /* single column body */
  #app-layout, #app-layout.no-right{ grid-template-columns:1fr !important; display:block }
  .main{ overflow-x:hidden }

  /* off-canvas sidebar */
  .sidebar{ position:fixed; top:0; left:-86vw; width:82vw; max-width:300px; height:100vh; z-index:200;
    transition:left .22s ease; box-shadow:0 24px 60px rgba(0,0,0,.6); overflow-y:auto; border-right:1px solid var(--line-2) }
  #app-layout.nav-open .sidebar{ left:0 }
  .nav-backdrop{ display:block; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:150;
    opacity:0; pointer-events:none; transition:opacity .2s }
  #app-layout.nav-open .nav-backdrop{ opacity:1; pointer-events:auto }

  /* tab bar scrolls */
  .tabbar{ overflow-x:auto; -webkit-overflow-scrolling:touch; white-space:nowrap }

  /* headers + stats */
  .page-header{ padding:22px 16px }
  .ph-top{ flex-direction:column; gap:14px }
  .ph-actions{ width:100%; flex-wrap:wrap }
  .ph-stats{ grid-template-columns:repeat(2,1fr) }
  .bottom-row{ padding:18px 16px 32px }

  /* wide tables scroll horizontally instead of squashing */
  .scenes-table, .crew-table, .budget-table, .stripboard{ overflow-x:auto; -webkit-overflow-scrolling:touch }
  .scene-row{ min-width:640px }
  .crew-row{ min-width:600px }
  .bt-row{ min-width:660px }
  .strip{ min-width:620px }
  .loc-grid{ padding:18px 16px }

  /* modals + forms */
  .modal{ width:94vw; max-width:94vw }
  .field-row{ grid-template-columns:1fr }

  /* call sheet */
  .cs-header{ grid-template-columns:1fr; gap:12px }
  .cs-paper{ padding:18px }
}

@media (max-width:420px){
  .ph-stats{ grid-template-columns:1fr 1fr }
  .ph-title{ font-size:34px }
}

/* ===== PRINT (clean call sheets + daily reports) ===== */
@media print{
  .topbar, .tabbar, .sidebar, .rightpane, .ph-actions, .nav-toggle, .nav-backdrop, .toasts, .modal-backdrop, .drawer, .drawer-backdrop{ display:none !important }
  html, body{ min-width:0; background:#fff; color:#000 }
  #app-layout, #app-layout.no-right, .app, .app.no-right{ display:block; grid-template-columns:1fr }
  .main{ overflow:visible }
  .page-header{ padding:0 0 16px }
  .scenes-table, .crew-table, .budget-table, .stripboard{ overflow:visible }
  .scene-row, .crew-row, .bt-row, .strip{ min-width:0 }
  * { -webkit-print-color-adjust:exact; print-color-adjust:exact }
}

.strip.reorder{ cursor:grab }
.strip.reorder:active{ cursor:grabbing; opacity:.6 }
.strip.day-break.dragover{ outline:2px dashed var(--accent); outline-offset:-2px }

/* ============================================================
   ROLE-BASED VIEWS: shells for Crew + Cast, View-As switcher
   ============================================================ */

/* View-As switcher in the producer topbar (owner only) */
.view-as{ display:flex; align-items:center; margin-right:10px; }
.view-as-select{
  background:var(--bg-3); color:var(--text); border:1px solid var(--line-2);
  border-radius:3px; padding:6px 10px; font-family:"JetBrains Mono",monospace;
  font-size:10px; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; outline:none;
}
.view-as-select:hover{ border-color:var(--accent); }

/* Owner-preview "Previewing as X" bar above the tabbar */
.preview-bar{
  display:flex; align-items:center; gap:10px;
  background:rgba(232,181,71,.06); border-bottom:1px solid var(--line);
  padding:8px 22px; font-size:12px;
}
.preview-bar-label{
  font-family:"JetBrains Mono",monospace; font-size:9.5px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--accent);
}
.preview-bar-select{
  background:var(--bg-3); color:var(--text); border:1px solid var(--line-2);
  border-radius:3px; padding:5px 8px; font-size:12px; cursor:pointer; outline:none;
}

/* Role tag in the crew/cast topbar */
.role-tag{
  font-family:"JetBrains Mono",monospace; font-size:10px;
  letter-spacing:.14em; text-transform:uppercase;
  padding:5px 9px; border-radius:3px; border:1px solid var(--line-2);
  background:var(--bg-3); color:var(--muted); margin-left:14px;
}
.role-tag.crew{ color:#7ec27a; border-color:rgba(126,194,122,.35); background:rgba(126,194,122,.06); }
.role-tag.cast{ color:var(--accent); border-color:rgba(232,181,71,.35); background:rgba(232,181,71,.06); }

/* Crew + Cast app layout: no sidebar, full-width main */
.app.crew-app, .app.cast-app{ grid-template-columns:1fr; }
.app.crew-app .main, .app.cast-app .main{ max-width:980px; margin:0 auto; padding:24px 22px; width:100%; }
.app.crew-app .main.full, .app.cast-app .main.full{ width:100%; }

/* Cards (used by crew/cast pages) */
.crew-app .card, .cast-app .card{
  background:var(--bg-2); border:1px solid var(--line); border-radius:4px;
  padding:18px 20px; margin-bottom:18px;
}
.crew-app .card-title, .cast-app .card-title{
  font-family:"JetBrains Mono",monospace; font-size:10px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
  margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid var(--line);
}
.card-eyebrow{
  font-family:"JetBrains Mono",monospace; font-size:10px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:8px;
}

/* Big "Your Call" card */
.big-call{ text-align:center; padding:28px 20px 24px; }
.big-call-time{
  font-family:"Instrument Serif",serif; font-size:64px; line-height:1;
  color:var(--accent); margin:6px 0 4px;
}
.big-call-label{
  font-family:"JetBrains Mono",monospace; font-size:10px;
  letter-spacing:.18em; color:var(--muted); margin-bottom:16px;
}
.big-call-meta{ font-size:13.5px; line-height:1.8; color:var(--text); }
.big-call-meta .k{ font-family:"JetBrains Mono",monospace; font-size:10px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.big-call-meta a{ color:var(--accent); text-decoration:none; border-bottom:1px dotted var(--accent); }

/* Status grid (cast view) */
.status-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }
.status-btn{
  background:var(--bg-3); color:var(--text); border:1px solid var(--line-2);
  border-radius:3px; padding:14px 8px; font-size:12px; cursor:pointer;
  font-family:"Funnel Sans",system-ui,sans-serif; transition:all .15s;
}
.status-btn:hover{ border-color:var(--accent); color:var(--accent); }
.status-btn.active{ background:var(--accent); color:#1a1400; border-color:var(--accent); font-weight:500; }
@media (max-width: 640px){
  .status-grid{ grid-template-columns:repeat(2,1fr); }
}

/* Character card (cast view) */
.character-card{ display:flex; align-items:center; gap:18px; }
.character-avatar{
  width:64px; height:64px; border-radius:6px; display:grid; place-items:center;
  font-family:"JetBrains Mono",monospace; font-weight:600; font-size:20px; color:#1a1400;
}
.character-name{ font-family:"Instrument Serif",serif; font-size:26px; line-height:1.1; }
.character-actor{ font-size:13px; margin-top:2px; }
.character-num{
  font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--accent); margin-top:4px;
}

/* Simple scene rows (cast view) */
.scene-list{ display:flex; flex-direction:column; gap:1px; }
.scene-row-simple{
  display:grid; grid-template-columns:64px 1fr; gap:14px; align-items:start;
  padding:12px 0; border-bottom:1px solid var(--line);
}
.scene-row-simple:last-child{ border-bottom:none; }
.sr-num{
  font-family:"JetBrains Mono",monospace; font-weight:600; font-size:14px;
  color:var(--accent);
}
.sr-head{ font-size:13.5px; font-weight:500; }
.sr-desc{ font-size:12.5px; margin-top:3px; }
.sr-meta{ display:flex; gap:6px; margin-top:6px; }
.sr-meta .pill{
  font-family:"JetBrains Mono",monospace; font-size:9.5px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted); padding:2px 6px;
  background:var(--bg-3); border:1px solid var(--line-2); border-radius:2px;
}

/* Empty state */
.empty{ text-align:center; padding:60px 20px; }
.empty-title{ font-family:"Instrument Serif",serif; font-size:24px; margin-bottom:8px; }

/* Force-hide rightpane in crew/cast views (shared producer functions set
   inline display='' which would otherwise un-hide the stub) */
.app.crew-app #rightpane, .app.cast-app #rightpane{ display:none !important; }

/* Producer's tabbar has no actions; in crew/cast scenarios we want the
   shared producer page headers (Strip Board, Crew, Locations) to stretch
   nicely without the sidebar */
.app.crew-app .main{ padding:0; }
.app.crew-app .main > .page-header,
.app.crew-app .main > .stripboard-wrap,
.app.crew-app .main > .crew-wrap,
.app.crew-app .main > .locations-wrap,
.app.crew-app .main > .empty-state{ max-width:1180px; margin-left:auto; margin-right:auto; padding-left:22px; padding-right:22px; }

/* My Day card layout (crew + cast) still uses the narrower 980 max */
.app.crew-app .main > .card,
.app.cast-app .main > .card,
.app.cast-app .main > .empty{ max-width:980px; margin-left:auto; margin-right:auto; }
