:root{--bg:#0e1012;--panel:#171a1e;--panel2:#1d2126;--text:#f5f6f7;--muted:#9ba3ad;--line:#2a3037;--accent:#f1f3f5;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:flex;min-height:100vh}.sidebar{width:220px;padding:28px 20px;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;background:#111316}.brand{font-weight:800;letter-spacing:.04em;font-size:22px;line-height:.92}.brand span{font-size:13px;color:var(--muted);letter-spacing:.18em}.sidebar nav{display:flex;flex-direction:column;gap:6px;margin-top:42px}.sidebar nav a,.new-project{color:var(--text);text-decoration:none;padding:10px 12px;border-radius:10px}.sidebar nav a:hover{background:var(--panel)}.sidebar small{color:var(--muted);float:right}.new-project{margin-top:auto;background:var(--text);color:#111;text-align:center;font-weight:700}.content{margin-left:220px;padding:42px;max-width:1400px;width:100%}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px}.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--muted);margin:0 0 8px}h1{font-size:36px;margin:0}h2{font-size:17px;margin:0 0 18px}h3{margin:8px 0 4px}.muted{color:var(--muted)}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:18px}.button{display:inline-block;border:0;background:var(--accent);color:#111;text-decoration:none;padding:10px 14px;border-radius:10px;font-weight:700;cursor:pointer}.button.secondary{background:var(--panel2);color:var(--text)}.list{display:flex;flex-direction:column}.list-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit}.list-row:first-child{border-top:0}.list-row span,.task-row span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.right{text-align:right}.section-head{display:flex;justify-content:space-between;align-items:center}.section-head a{color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.project-card{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:18px;color:inherit;text-decoration:none}.project-card p{margin:0 0 18px;color:var(--muted)}.meta,.delivery{font-size:13px;color:var(--muted);margin-top:8px}.pill{display:inline-block;font-size:11px;padding:5px 8px;border:1px solid var(--line);border-radius:99px;color:var(--muted)}.form label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--muted);margin-bottom:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}input,select,textarea{width:100%;background:#101215;border:1px solid var(--line);color:var(--text);padding:11px 12px;border-radius:9px;font:inherit}textarea{resize:vertical}.actions{display:flex;gap:10px}.summary-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.summary-strip>div{background:var(--panel);border:1px solid var(--line);padding:16px 18px;border-radius:14px}.summary-strip span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.task-row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}.task-row:first-child{border-top:0}.check{background:none;border:0;color:var(--text);font-size:20px;cursor:pointer;padding:0}.done{text-decoration:line-through;color:var(--muted)}details{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}summary{cursor:pointer;color:var(--muted)}.mini-form{display:grid;gap:9px;margin-top:12px}.empty{text-align:center;padding:48px 12px}.empty p{color:var(--muted)}@media(max-width:850px){.sidebar{position:static;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--line)}body{display:block}.sidebar nav{margin-top:18px}.new-project{margin-top:18px}.content{margin-left:0;padding:22px}.grid.two,.form-grid,.summary-strip,.project-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;gap:16px}h1{font-size:30px}}

/* v0.2 weekly calendar */
.calendar-head .muted{margin:7px 0 0}.calendar-nav{display:flex;gap:8px}.button.compact{min-width:42px;text-align:center;padding-left:10px;padding-right:10px}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.calendar-day{background:var(--panel);min-height:570px}.calendar-day.is-today{background:#1b1f24}.calendar-day-head{height:76px;padding:16px;border-bottom:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between}.calendar-day-head span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.calendar-day-head strong{font-size:25px;line-height:1}.is-today .calendar-day-head strong{background:var(--text);color:#111;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:18px}.calendar-day-body{padding:10px;display:flex;flex-direction:column;gap:9px}.calendar-event{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--text);background:var(--panel2);border:1px solid #343b44;border-left:3px solid #77818c;border-radius:10px;padding:10px}.calendar-event:hover{border-color:#555f6b}.calendar-event strong{font-size:13px;line-height:1.25}.calendar-event span{font-size:11px;color:var(--muted)}.calendar-event-type{text-transform:uppercase;letter-spacing:.1em;font-size:9px!important;color:#d4d8dc!important}.calendar-event-time{color:var(--text)!important}.type-grade{border-left-color:#b594ff}.type-mix{border-left-color:#6ec9b5}.type-edit{border-left-color:#72a7ff}.type-review{border-left-color:#f0b96f}.type-online{border-left-color:#e985a4}.calendar-empty{display:block;text-align:center;color:#626a74;font-size:11px;padding:22px 4px}@media(max-width:1150px){.week-calendar{overflow-x:auto;grid-template-columns:repeat(7,165px)}.calendar-day{min-height:480px}}@media(max-width:850px){.calendar-head{align-items:flex-start}.calendar-nav{width:100%}.calendar-nav .button:nth-child(2){flex:1;text-align:center}.week-calendar{border-radius:12px}}

/* v0.3 people, resources and clash detection */
.mini-form label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px}.mini-form label input,.mini-form label select{color:var(--text);font-size:14px}.form-hint{font-size:12px;color:var(--muted);margin:0}.form-hint a{color:var(--text)}.settings-add{border-top:1px solid var(--line);padding-top:16px;margin-top:14px}.settings-list form{margin:0}.conflict-panel{max-width:820px}.conflict-callout{border:1px solid #6b5a32;background:#241f14;border-radius:12px;padding:16px;margin-bottom:18px;display:flex;flex-direction:column;gap:5px}.conflict-callout span{color:#c9b98e;font-size:13px}.conflict-list .list-row{padding:14px 0}.conflict-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.conflict-actions form{margin:0}@media(max-width:850px){.conflict-actions{justify-content:stretch}.conflict-actions>*{flex:1}.conflict-actions .button{width:100%;text-align:center}}

/* v0.4 project workspace and checklist */
.project-meta-line{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;margin-top:10px}.project-meta-line .pill{color:var(--text)}.project-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.overview-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.overview-card>span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}.overview-card strong{font-size:16px}.progress-track{height:4px;background:#2c3239;border-radius:99px;overflow:hidden;margin-top:9px}.progress-track span{display:block;height:100%;background:var(--text);border-radius:99px}.project-columns{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px;align-items:start}.project-columns .panel{margin-bottom:0}.section-head .eyebrow{margin-bottom:5px}.session-group{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.session-group h3{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 8px}.session-list{display:flex;flex-direction:column}.session-row{display:grid;grid-template-columns:46px 1fr;gap:12px;padding:11px 0;border-top:1px solid #242a30}.session-row:first-child{border-top:0}.session-date{border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px}.session-date strong{font-size:18px;line-height:1}.session-date span{text-transform:uppercase;color:var(--muted);font-size:9px;letter-spacing:.08em;margin-top:4px}.session-main{display:flex;flex-direction:column;justify-content:center}.session-main>strong{font-size:14px}.session-main>span{font-size:12px;color:var(--muted);margin-top:3px}.add-block{margin-top:20px}.add-block summary{font-size:13px}.compact-grid{gap:10px}.task-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:15px 0 5px}.task-row-rich{align-items:center}.task-copy{min-width:0}.task-copy strong{font-size:14px}.task-copy span{white-space:normal}.quick-task-block{margin-top:18px}.quick-task-grid{display:flex;flex-wrap:wrap;gap:7px}.quick-task-grid form{margin:0}.quick-task{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:999px;padding:7px 10px;font:inherit;font-size:12px;cursor:pointer}.quick-task:hover{border-color:#555f6b}.completed-block{margin-top:18px}.completed-block summary{font-size:12px}.completed-block .task-row{opacity:.72}.compact-empty{padding:22px 0;text-align:left}.notes-copy{white-space:pre-wrap}.project-title .button{align-self:center}@media(max-width:1050px){.project-overview{grid-template-columns:repeat(2,1fr)}.project-columns{grid-template-columns:1fr}}@media(max-width:600px){.project-overview{grid-template-columns:1fr}.project-meta-line{flex-wrap:wrap}.compact-grid{grid-template-columns:1fr}.project-title .button{align-self:flex-start}}

/* v0.5 dated project tasks on calendar */
.calendar-task-stack{display:flex;flex-direction:column;gap:7px;padding-bottom:2px}.calendar-task{display:flex;flex-direction:column;gap:3px;text-decoration:none;color:var(--text);background:#14171a;border:1px dashed #4a525c;border-radius:9px;padding:9px}.calendar-task:hover{border-color:#737d88}.calendar-task strong{font-size:12px;line-height:1.25}.calendar-task span{font-size:10px;color:var(--muted)}.calendar-task-label{font-size:9px!important;letter-spacing:.12em;color:#d4d8dc!important}.calendar-task.is-complete{opacity:.55}.calendar-task.is-complete strong{text-decoration:line-through}.calendar-task-stack+.calendar-event{margin-top:2px}

/* v0.5 month calendar */
.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.month-weekday{background:var(--panel2);padding:10px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.month-day{background:var(--panel);min-height:145px;padding:9px}.month-day.outside-month{opacity:.4}.month-day.is-today .month-day-number{background:var(--text);color:#111}.month-day-number{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12px;margin-bottom:7px}.month-items{display:flex;flex-direction:column;gap:5px}.month-item{display:flex;flex-direction:column;gap:1px;text-decoration:none;color:var(--text);border:1px solid #343b44;border-left:3px solid #77818c;border-radius:7px;padding:6px;background:var(--panel2)}.month-item:hover{border-color:#555f6b}.month-item span,.month-item small{font-size:9px;color:var(--muted)}.month-item strong{font-size:10px;line-height:1.2}.month-task{border-style:dashed;border-left-style:solid}.month-task.is-complete{opacity:.5}.month-task.is-complete strong{text-decoration:line-through}@media(max-width:900px){.month-calendar{grid-template-columns:repeat(7,130px);overflow-x:auto}.month-day{min-height:130px}.month-weekday{padding:8px}}

/* v0.6 month calendar fixes */
.month-day{min-width:0;min-height:155px;padding:8px;overflow:hidden}
.month-day.outside-month{opacity:.32}
.month-day-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:7px}
.month-day-number{flex:0 0 auto;margin:0}
.month-day-count{font-size:9px;color:var(--muted);white-space:nowrap}
.month-items{min-width:0}
.month-item{min-width:0;overflow:hidden}
.month-item strong,.month-item small,.month-item-kicker{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.month-item-kicker{text-transform:uppercase;letter-spacing:.06em}
@media(max-width:900px){
  .calendar-head{flex-direction:column;align-items:flex-start}
  .calendar-nav{flex-wrap:wrap}
  .month-calendar{grid-template-columns:repeat(7,124px);overflow-x:auto}
  .month-day{min-height:140px}
}

/* v0.7 scheduling usability */
.field-hint{display:block;margin-top:5px;color:var(--muted);font-size:11px}
input[type="date"],input[type="datetime-local"]{cursor:pointer}
.session-row{grid-template-columns:46px minmax(0,1fr) auto;align-items:center}
.session-toggle-form{margin:0}
.session-complete{opacity:.58}
.session-complete .session-main>strong{text-decoration:line-through;text-decoration-thickness:1px}
.button.danger{border-color:#6f3c3c;color:#f0b4b4;background:#271818}
.button.danger:hover{border-color:#9d5555;background:#321d1d}
.settings-row{gap:12px}
.settings-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.settings-actions form{margin:0}
.settings-message{margin:0 0 18px;padding:12px 14px;border:1px solid #39566c;background:#13202a;border-radius:12px;color:#c7deef;font-size:13px}
.calendar-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:-7px 0 14px;color:var(--muted);font-size:11px}
.calendar-legend>span{display:inline-flex;align-items:center;gap:6px}
.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.type-edit-bg{background:#3b82f6}.type-grade-bg{background:#f59e0b}.type-mix-bg{background:#22c55e}.type-review-bg{background:#ec4899}.type-online-bg{background:#8b5cf6}
.type-edit{border-left-color:#3b82f6!important}.type-grade{border-left-color:#f59e0b!important}.type-mix{border-left-color:#22c55e!important}.type-review{border-left-color:#ec4899!important}.type-online{border-left-color:#8b5cf6!important}
.calendar-event.is-complete,.month-session.is-complete{opacity:.45;filter:saturate(.55)}
.calendar-event.is-complete strong,.month-session.is-complete strong{text-decoration:line-through}
@media(max-width:700px){.session-row{grid-template-columns:46px minmax(0,1fr)}.session-toggle-form{grid-column:2}.settings-actions{justify-content:flex-start}.calendar-legend{gap:10px}}

/* v0.8 cancellation / deletion controls */
.project-head-actions{display:flex;gap:8px;align-items:center}.project-head-actions form,.session-actions form{margin:0}.session-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.session-cancelled{opacity:.52}.session-cancelled .session-main strong{text-decoration:line-through}.danger-zone{border-color:#5a3030}.danger-zone details{margin-top:12px}.delete-project-form{max-width:520px}.button.danger{background:#321b1b;color:#ffd1d1;border:1px solid #744040}.button.danger:hover{background:#422222}.button.compact{font-size:12px;padding:7px 9px}@media(max-width:700px){.project-head-actions{align-items:stretch;flex-direction:column}.project-head-actions .button{width:100%;text-align:center}.session-actions{grid-column:2;justify-content:flex-start}}

/* v0.9 stronger calendar colours, picker button and episodic progress */
.calendar-legend{margin-top:-4px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.calendar-legend-title{font-weight:700;color:var(--text);margin-right:2px}
.legend-complete{padding-left:12px;border-left:1px solid var(--line)}
.calendar-event,.month-session{border-left-width:5px!important}
.calendar-event.type-edit,.month-session.type-edit{background:rgba(59,130,246,.16);border-color:rgba(59,130,246,.48)}
.calendar-event.type-grade,.month-session.type-grade{background:rgba(245,158,11,.17);border-color:rgba(245,158,11,.52)}
.calendar-event.type-mix,.month-session.type-mix{background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.48)}
.calendar-event.type-review,.month-session.type-review{background:rgba(236,72,153,.14);border-color:rgba(236,72,153,.48)}
.calendar-event.type-online,.month-session.type-online{background:rgba(139,92,246,.16);border-color:rgba(139,92,246,.50)}
.calendar-event.type-other,.month-session.type-other{background:rgba(148,163,184,.10);border-color:#77818c}
.calendar-event.is-complete,.month-session.is-complete{opacity:.52;filter:saturate(.35)}
.calendar-event-episode,.month-item-episode{color:var(--text)!important;font-weight:650}

.date-picker-wrap{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:7px;align-items:stretch;width:100%}
.date-picker-wrap input{min-width:0}
.date-picker-button{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;cursor:pointer;font-size:18px;line-height:1}
.date-picker-button:hover{border-color:#5b6570;background:#252a30}

.episodes-panel{margin-bottom:18px}
.episodes-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px}
.episode-add{display:flex;gap:8px;align-items:center;margin:0}
.episode-add input{width:190px;padding:8px 10px}
.episode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.episode-card{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:13px}
.episode-card.complete{border-color:rgba(34,197,94,.55);background:rgba(34,197,94,.08)}
.episode-card-head{display:flex;justify-content:space-between;gap:8px;align-items:center}
.episode-card-head strong{font-size:14px}
.episode-status{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.episode-card.complete .episode-status{color:#86efac}
.episode-card-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:8px}
.episode-progress{height:5px;background:#30363d;border-radius:99px;overflow:hidden;margin-top:9px}
.episode-progress span{display:block;height:100%;background:#aab2bc}
.episode-card.complete .episode-progress span{background:#22c55e}
.episode-delete{margin-top:9px;border-top:1px solid var(--line);padding-top:8px}
.episode-delete button{background:transparent;border:0;color:var(--muted);font:inherit;font-size:10px;padding:0;cursor:pointer}
.episode-delete button:hover{color:#ffd1d1}
.episode-chip{display:inline-flex;align-items:center;font-size:10px;padding:3px 7px;border:1px solid var(--line);border-radius:99px;color:var(--text);margin-top:4px;width:max-content;max-width:100%}
@media(max-width:900px){.episode-grid{grid-template-columns:1fr 1fr}.episodes-head{align-items:flex-start;flex-direction:column}.episode-add{width:100%}.episode-add input{width:auto;flex:1}}
@media(max-width:600px){.episode-grid{grid-template-columns:1fr}.episode-add{align-items:stretch;flex-direction:column}.episode-add input{width:100%}}

/* v0.10 session tidy-up and conditional multipart structure */
.session-row{grid-template-columns:46px minmax(0,1fr);align-items:start}
.session-main{min-width:0}
.session-title{display:block;font-size:14px;line-height:1.3;margin-bottom:3px}
.session-inline-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:7px}
.session-inline-actions form{margin:0}
.session-action-link{appearance:none;border:0;background:transparent;color:var(--muted);padding:0;font:inherit;font-size:10px;line-height:1.2;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px}
.session-action-link:hover{color:var(--text);text-decoration-color:currentColor}
.session-action-link.danger-link:hover{color:#f4a6a6}
.session-group>h3{margin:16px 0 7px;padding-bottom:6px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.session-group:first-child>h3{margin-top:4px}
.multipart-check{align-self:end;padding:8px 0}
.multipart-check .field-hint{margin-left:27px}

/* v0.11 Lounge visual refresh — condensed Forecaster-style shell */
:root{
  --bg:#f5f5f2;
  --panel:#ffffff;
  --panel2:#f8f9fb;
  --text:#111827;
  --muted:#657084;
  --line:#e4e7eb;
  --accent:#101827;
  --sidebar:#0d1322;
  --sidebar-active:#202b3b;
  --cyan:#22d3ee;
  --magenta:#ec4899;
  --radius:14px;
}
body{background:var(--bg);color:var(--text);font-size:14px}
.sidebar{width:196px;padding:20px 15px;background:var(--sidebar);border-right:0;color:#f7f9fc}
.brand-lockup{padding:0 2px 18px}
.brand-word{font-size:24px;font-weight:900;font-style:italic;letter-spacing:.02em;line-height:.9;color:#fff;text-shadow:2px 0 var(--cyan),-2px 0 var(--magenta)}
.brand-post{font-size:9px;font-weight:800;letter-spacing:.46em;margin:5px 0 9px 43px;color:#fff}
.brand-app{font-size:16px;font-weight:700;color:#fff}
.brand-rule{width:44px;height:2px;margin-top:8px;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--magenta))}
.sidebar nav{gap:4px;margin-top:12px}
.sidebar nav a,.new-project{padding:9px 10px;border-radius:8px;font-size:13px;color:#eef2f7}
.sidebar nav a:hover,.sidebar nav a.active{background:var(--sidebar-active)}
.sidebar nav a.active{font-weight:700}
.new-project{margin-top:auto;background:#fff;color:#101827;font-size:12px;font-weight:800}
.content{margin-left:196px;max-width:none;padding:26px 28px 36px}
.page-head{margin-bottom:18px;align-items:center}
.page-head h1{font-size:28px;letter-spacing:-.025em}
.eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:5px;color:#7d8797;font-weight:700}
h2{font-size:16px;margin-bottom:12px}
.panel{padding:17px 18px;margin-bottom:14px;border-radius:14px;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.button{padding:8px 11px;border-radius:8px;font-size:12px;background:var(--accent);color:#fff}
.button.secondary{background:#eef1f5;color:#182131}
.button.secondary:hover{background:#e3e8ef}
.button.compact{padding:7px 9px;font-size:11px}
.pill{padding:4px 7px;font-size:10px;background:#f7f8fa;color:#5d6778}
.project-meta-line{margin-top:7px;font-size:12px;gap:8px}
.project-overview{gap:10px;margin-bottom:14px}
.overview-card{padding:13px 15px;border-radius:12px;background:#fff}
.overview-card>span{font-size:10px;margin-bottom:5px}.overview-card strong{font-size:18px}
.progress-track{background:#e8ebef}
.project-columns{gap:14px;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)}
.section-head{min-height:34px}.section-head h2{margin:0}

/* condensed multipart cards */
.episodes-panel{margin-bottom:14px}.episodes-head{align-items:center;margin-bottom:10px}.episodes-head .muted{margin:4px 0 0;font-size:12px}
.episode-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.episode-card{padding:10px 11px;border-radius:10px;background:#fafbfc}
.episode-card-head strong{font-size:13px}.episode-card-meta{font-size:10px;margin-top:5px}.episode-progress{height:4px;margin-top:6px}.episode-delete{margin-top:6px;padding-top:5px}
.episode-add input{width:150px;padding:7px 9px}

/* compact session rows + action dropdown */
.session-group{padding-top:8px;margin-top:8px}
.session-group>h3{margin:8px 0 3px;padding-bottom:5px;font-size:10px}
.session-row{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:8px 0}
.session-date{min-height:40px;border-radius:8px}.session-date strong{font-size:16px}.session-date span{font-size:8px}
.session-title{font-size:13px;margin-bottom:1px}.session-main>span{font-size:11px;margin-top:1px;line-height:1.35}
.session-actions-menu{position:relative;margin:5px 0 0;padding:0;border:0;width:max-content}
.session-actions-menu>summary,.project-actions-menu>summary{list-style:none;cursor:pointer;user-select:none;border:1px solid #dbe0e6;background:#f7f8fa;color:#566173;border-radius:7px;padding:4px 7px;font-size:10px;font-weight:700}
.session-actions-menu>summary::-webkit-details-marker,.project-actions-menu>summary::-webkit-details-marker{display:none}
.session-actions-menu[open]>summary,.project-actions-menu[open]>summary{background:#eef1f5;color:#182131}
.session-actions-popover,.project-actions-popover{position:absolute;z-index:50;top:calc(100% + 4px);left:0;min-width:148px;background:#fff;border:1px solid #dfe3e8;border-radius:9px;padding:4px;box-shadow:0 12px 28px rgba(15,23,42,.16)}
.session-actions-popover form,.project-actions-popover form{margin:0}
.session-actions-popover button,.project-actions-popover button,.project-actions-popover a{display:block;width:100%;border:0;background:transparent;color:#263244;text-align:left;text-decoration:none;padding:7px 8px;border-radius:6px;font:inherit;font-size:11px;cursor:pointer}
.session-actions-popover button:hover,.project-actions-popover button:hover,.project-actions-popover a:hover{background:#f2f4f7}
.session-actions-popover .danger-menu-item{color:#b42318}.session-actions-popover .danger-menu-item:hover{background:#fff1f0}
.project-head-actions{gap:7px}.project-actions-menu{position:relative;margin:0;padding:0;border:0}.project-actions-popover{right:0;left:auto;min-width:155px}
.session-complete{opacity:.58}.session-cancelled{opacity:.48}

/* dense checklist */
.task-row{padding:7px 0}.task-copy strong{font-size:13px}.task-row span{font-size:11px;margin-top:1px}
.quick-task-block{margin-top:12px}.quick-task-grid{gap:5px}.quick-task{padding:6px 8px;font-size:11px;background:#f5f6f8}
.add-block{margin-top:12px;padding-top:10px}.add-block summary{font-size:12px}
.mini-form{gap:7px;margin-top:9px}.mini-form label{font-size:11px;gap:4px}
input,select,textarea{background:#fff;color:var(--text);padding:9px 10px;border-radius:8px;border-color:#dfe3e8;font-size:13px}
.date-picker-button{background:#f4f6f8;color:#384557;border-color:#dfe3e8;border-radius:8px}

/* calendar aligned with shared visual system */
.calendar-legend{padding:8px 10px;margin:-2px 0 10px;background:#fff;border-radius:10px;font-size:10px}
.week-calendar,.month-calendar{border-color:#dfe3e8;background:#dfe3e8;border-radius:12px}
.calendar-day,.month-day{background:#fff}.calendar-day.is-today{background:#fbfcfe}
.calendar-day-head{height:60px;padding:11px}.calendar-day-head strong{font-size:20px}.calendar-day-body{padding:7px;gap:6px}
.calendar-event{padding:8px;border-radius:8px;background:#f8f9fb}.calendar-event strong{font-size:11px}.calendar-event span{font-size:10px}
.month-weekday{background:#f1f3f6;padding:8px 9px}.month-day{min-height:135px;padding:6px}.month-item{padding:5px;border-radius:6px;background:#f8f9fb}

/* home / lists / settings */
.project-grid{gap:10px}.project-card{padding:14px;border-radius:12px;background:#fff}.project-card p{margin-bottom:12px}
.list-row{padding:9px 0}.list-row span{font-size:11px}
.settings-actions{gap:5px}.settings-message{padding:10px 12px;margin-bottom:12px;border-radius:10px}
.danger-zone{background:#fff;border-color:#efd9d7}.danger-zone .muted{font-size:12px}

@media(max-width:1050px){.project-columns{grid-template-columns:1fr}.project-overview{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.sidebar{width:100%;padding:16px;position:static}.content{margin-left:0;padding:18px}.brand-lockup{padding-bottom:8px}.sidebar nav{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.new-project{margin-top:10px}.page-head{align-items:flex-start}.project-overview{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.project-overview{grid-template-columns:1fr}.episode-grid{grid-template-columns:1fr}.project-head-actions{align-items:flex-end}.page-head.project-title{flex-direction:column;align-items:stretch}.project-head-actions{justify-content:space-between}.project-actions-popover{left:0;right:auto}}

/* v0.12 — Forecaster-matched visual system */
:root{
  --bg:#f5f4f1;
  --panel:#ffffff;
  --panel2:#f7f8fa;
  --text:#111827;
  --muted:#667085;
  --line:#e2e6eb;
  --accent:#111827;
  --sidebar:#0b1120;
  --sidebar-active:#222d3e;
  --cyan:#22d3ee;
  --magenta:#ec4899;
  --radius:14px;
}
html{background:var(--bg)}
body{background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}
.sidebar{width:214px;padding:20px 16px 18px;background:var(--sidebar);box-shadow:none}
.content{margin-left:214px;padding:25px 26px 34px;min-height:100vh}
.brand-lockup{padding:0 3px 20px}
.brand-logo{display:block;width:145px;height:50px;object-fit:contain;object-position:left center;margin:0 0 5px 0}
.brand-app{font-size:17px;line-height:1.2;font-weight:750;color:#fff;margin-top:1px}
.brand-rule{width:48px;height:2px;margin-top:9px;background:linear-gradient(90deg,#23d4e9 0 58%,#ed3ea1 58% 100%)}
.sidebar nav{display:flex;flex-direction:column;gap:3px;margin-top:10px}
.sidebar nav a{display:flex;align-items:center;gap:11px;min-height:39px;padding:9px 10px;border-radius:8px;color:#f4f6f8;font-size:12.5px;text-decoration:none}
.sidebar nav a:hover,.sidebar nav a.active{background:var(--sidebar-active)}
.sidebar nav a.active{font-weight:700}
.nav-icon{display:grid;place-items:center;width:18px;height:18px;font-size:16px;color:#e9edf3;opacity:.95}
.new-project{display:block;margin-top:auto;padding:9px 11px;border-radius:8px;background:#fff;color:#101827;text-align:center;font-size:12px;font-weight:800;text-decoration:none;border:1px solid #dfe4eb}

.page-head{display:flex;justify-content:space-between;gap:20px;margin:0 0 19px;padding:0;align-items:center}
.page-head h1{font-size:26px;line-height:1.1;letter-spacing:-.025em;margin:0;color:#111827}
.page-head .muted{margin:5px 0 0;font-size:11px;color:#697386}
.forecaster-head{min-height:47px}
.button{border-radius:8px;padding:8px 12px;font-size:11.5px;font-weight:700;background:#111827;color:#fff;border:1px solid #111827;box-shadow:none}
.button:hover{background:#1e293b}
.button.secondary{background:#edf0f4;color:#182131;border-color:#e1e5ea}
.button.secondary:hover{background:#e5e9ef}
.header-primary{padding:9px 13px}

.calendar-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:13px;flex-wrap:wrap}
.segmented{display:inline-flex;border:1px solid #dfe3e9;border-radius:8px;overflow:hidden;background:#fff}
.segmented-item{min-width:62px;padding:9px 14px;text-align:center;text-decoration:none;color:#111827;font-size:11px;font-weight:650;border-right:1px solid #e2e6eb}
.segmented-item:last-child{border-right:0}
.segmented-item.active{background:#111827;color:#fff}
.month-stepper{display:inline-flex;align-items:stretch;border:1px solid #dfe3e9;border-radius:8px;background:#fff;overflow:hidden;height:36px}
.icon-button{width:36px;display:grid;place-items:center;text-decoration:none;color:#1f2937;font-size:22px;line-height:1;border-right:1px solid #e2e6eb}
.icon-button:last-child{border-right:0;border-left:1px solid #e2e6eb}
.icon-button:hover,.month-label:hover{background:#f6f7f9}
.month-label{min-width:148px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 12px;text-decoration:none;color:#111827;font-size:11px;font-weight:650}
.month-label span{color:#667085;font-size:12px}

.calendar-shell{background:#fff;border:1px solid #eceef1;border-radius:14px;padding:20px 20px 22px;box-shadow:0 3px 14px rgba(15,23,42,.055)}
.compact-legend{display:flex;align-items:center;gap:13px;margin:0 0 12px;padding:0;background:transparent;border:0;font-size:9.5px;color:#667085}
.compact-legend .calendar-legend-title{color:#344054;font-weight:750;margin-right:2px}
.compact-legend span{display:inline-flex;align-items:center;gap:5px}
.compact-legend .legend-complete{margin-left:auto}
.legend-dot{width:8px;height:8px}

.month-calendar{gap:1px;background:#dfe4ea;border:1px solid #dfe4ea;border-radius:11px;overflow:hidden}
.month-weekday{background:#f5f6f8;color:#657084;padding:9px 13px;font-size:9px;letter-spacing:.13em;font-weight:750}
.month-day{min-height:126px;padding:8px;background:#fff}
.month-day.outside-month{opacity:1;background:#f1f2f4;color:#98a2b3}
.month-day-head{display:flex;justify-content:space-between;align-items:flex-start;height:24px;margin-bottom:2px}
.month-day-number{display:grid;place-items:center;width:23px;height:23px;margin:0;border-radius:50%;font-size:10.5px;color:#273244}
.month-day.outside-month .month-day-number{color:#98a2b3}
.month-day.is-today .month-day-number{background:#111827;color:#fff}
.month-day-count{font-size:8px;color:#667085;padding-top:4px}
.month-items{gap:4px}
.month-item{padding:6px 7px;border-radius:6px;border:1px solid #d7dde5;border-left-width:3px;background:#f8f9fb;gap:1px;box-shadow:none}
.month-item:hover{box-shadow:0 2px 6px rgba(15,23,42,.07);transform:none}
.month-item-kicker{font-size:8px!important;letter-spacing:.07em;text-transform:uppercase;font-weight:750;line-height:1.1}
.month-item strong{font-size:9.5px;line-height:1.15;color:#162033;text-transform:uppercase}
.month-item small{font-size:8px;color:#667085;line-height:1.2}
.month-session.type-edit{background:#eef4ff;border-color:#9fc0ff;border-left-color:#3b82f6!important}.month-session.type-edit .month-item-kicker{color:#346fd1}
.month-session.type-grade{background:#fff7e8;border-color:#f9c96f;border-left-color:#f59e0b!important}.month-session.type-grade .month-item-kicker{color:#c66f00}
.month-session.type-mix{background:#ecfdf3;border-color:#8bd9a8;border-left-color:#22c55e!important}.month-session.type-mix .month-item-kicker{color:#168447}
.month-session.type-review{background:#fff0f6;border-color:#f3a3c8;border-left-color:#ec4899!important}.month-session.type-review .month-item-kicker{color:#bd3479}
.month-session.type-online{background:#f3efff;border-color:#bea9fa;border-left-color:#8b5cf6!important}.month-session.type-online .month-item-kicker{color:#6d45cc}
.month-task{background:#f7f8fa;border-color:#cfd6df;border-left-color:#667085!important;border-style:solid}
.month-item.is-complete{opacity:.48}.month-item.is-complete strong{text-decoration:line-through}

.week-calendar{gap:1px;background:#dfe4ea;border-color:#dfe4ea;border-radius:11px;overflow:hidden}
.calendar-day{min-height:545px;background:#fff}
.calendar-day.is-today{background:#fff}
.calendar-day-head{height:58px;padding:11px 12px;border-bottom:1px solid #e4e8ed;align-items:center}
.calendar-day-head span{font-size:9px;letter-spacing:.12em;color:#667085;font-weight:750}
.calendar-day-head strong{font-size:18px;color:#1f2937}
.calendar-day.is-today .calendar-day-head strong{background:#111827;color:#fff;width:29px;height:29px;font-size:12px}
.calendar-day-body{padding:7px;gap:5px}
.calendar-event,.calendar-task{padding:7px 8px;border-radius:7px;gap:2px;box-shadow:none}
.calendar-event strong,.calendar-task strong{font-size:10px;color:#162033}.calendar-event span,.calendar-task span{font-size:8.5px}
.calendar-event-type,.calendar-task-label{font-size:8px!important;letter-spacing:.07em!important;font-weight:750}
.calendar-event.type-edit{background:#eef4ff;border-color:#9fc0ff;border-left-color:#3b82f6!important}.calendar-event.type-edit .calendar-event-type{color:#346fd1!important}
.calendar-event.type-grade{background:#fff7e8;border-color:#f9c96f;border-left-color:#f59e0b!important}.calendar-event.type-grade .calendar-event-type{color:#c66f00!important}
.calendar-event.type-mix{background:#ecfdf3;border-color:#8bd9a8;border-left-color:#22c55e!important}.calendar-event.type-mix .calendar-event-type{color:#168447!important}
.calendar-event.type-review{background:#fff0f6;border-color:#f3a3c8;border-left-color:#ec4899!important}.calendar-event.type-review .calendar-event-type{color:#bd3479!important}
.calendar-event.type-online{background:#f3efff;border-color:#bea9fa;border-left-color:#8b5cf6!important}.calendar-event.type-online .calendar-event-type{color:#6d45cc!important}
.calendar-event.is-complete,.calendar-task.is-complete{opacity:.48}
.calendar-empty{color:#a3aab5;font-size:9.5px;padding:18px 2px}

.panel{background:#fff;border:1px solid #e7eaee;border-radius:13px;box-shadow:0 2px 9px rgba(15,23,42,.035);padding:16px 17px}
.overview-card{border:1px solid #e8ebef;box-shadow:0 2px 8px rgba(15,23,42,.035)}
.project-card{border:1px solid #e8ebef}
input,select,textarea{border-color:#dfe3e8;background:#fff;color:#182131}

@media(max-width:1050px){
  .calendar-toolbar{justify-content:flex-start;width:100%}.forecaster-head{align-items:flex-start;flex-direction:column}
  .compact-legend{flex-wrap:wrap}.compact-legend .legend-complete{margin-left:0}
}
@media(max-width:900px){
  .month-calendar{grid-template-columns:repeat(7,126px);overflow-x:auto}
  .month-day{min-height:118px}
}
@media(max-width:850px){
  .sidebar{width:100%;position:static;padding:14px 16px}.content{margin-left:0;padding:18px}.brand-logo{width:128px;height:44px}
  .sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.new-project{margin-top:10px}
  .calendar-toolbar{gap:8px}.month-label{min-width:126px}
}

/* v0.13 — Month / Week / Day drill-down */
.calendar-day-number-link{display:grid;place-items:center;text-decoration:none;color:inherit;border-radius:50%}
.calendar-day-number-link strong{transition:background .15s ease,color .15s ease}
.calendar-day-number-link:hover strong{background:#eef1f5;color:#111827}
.calendar-day.is-today .calendar-day-number-link:hover strong{background:#111827;color:#fff}
.month-day-number-link{text-decoration:none;color:#273244;transition:background .15s ease}
.month-day-number-link:hover{background:#e9edf2}
.month-day.is-today .month-day-number-link:hover{background:#111827;color:#fff}

.day-calendar-shell{padding:0;overflow:hidden}
.day-summary-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid #eceff3;background:#fff}
.day-summary-row h2{margin:0;font-size:18px;color:#111827}
.day-summary-row .eyebrow{display:block;margin-bottom:4px;color:#7c8798}
.day-summary-stats{display:flex;align-items:center;gap:8px}
.day-summary-stats span{display:inline-flex;align-items:baseline;gap:5px;padding:7px 10px;border:1px solid #e3e7ec;border-radius:8px;background:#f8f9fb;color:#667085;font-size:10px}
.day-summary-stats strong{font-size:13px;color:#111827}
.day-all-day,.day-agenda{display:grid;grid-template-columns:105px minmax(0,1fr);gap:16px;padding:14px 20px;border-bottom:1px solid #eceff3;background:#fff}
.day-agenda{border-bottom:0;padding-bottom:20px}
.day-section-label{padding-top:7px;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#667085}
.day-task-list,.day-session-list{display:flex;flex-direction:column;gap:7px;min-width:0}
.day-task{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px dashed #d7dde5;border-radius:8px;background:#fafbfc;text-decoration:none;color:#111827}
.day-task:hover{border-color:#b9c1cc;background:#f6f8fa}
.day-task-status{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#edf0f4;color:#596577;font-weight:800;font-size:11px;flex:0 0 auto}
.day-task-copy{display:flex;flex-direction:column;gap:1px;min-width:0}
.day-task-copy strong{font-size:11px;line-height:1.25}
.day-task-copy small{font-size:9px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.day-task.is-complete{opacity:.52}.day-task.is-complete strong{text-decoration:line-through}
.day-session{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:62px;padding:9px 11px 9px 8px;border:1px solid #d9dee6;border-left:4px solid #94a3b8;border-radius:9px;background:#f8f9fb;text-decoration:none;color:#111827}
.day-session:hover{box-shadow:0 2px 8px rgba(15,23,42,.06)}
.day-session-time{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:42px;border-right:1px solid rgba(17,24,39,.08)}
.day-session-time strong{font-size:13px;line-height:1.1}.day-session-time span{margin-top:3px;font-size:9px;color:#667085}
.day-session-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.day-session-kicker{font-size:8.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#667085}
.day-session-main>strong{font-size:12px;line-height:1.2;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.day-session-main small{font-size:9px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.day-session-state{padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(17,24,39,.08);font-size:8.5px;font-weight:750;color:#667085}
.day-session.type-edit{background:#eef4ff;border-color:#9fc0ff;border-left-color:#3b82f6}
.day-session.type-grade{background:#fff6e8;border-color:#f8c66d;border-left-color:#f59e0b}
.day-session.type-mix{background:#edf9f1;border-color:#91d7a8;border-left-color:#22c55e}
.day-session.type-review{background:#fff0f6;border-color:#f3abc9;border-left-color:#ec4899}
.day-session.type-online{background:#f4efff;border-color:#bda8f7;border-left-color:#8b5cf6}
.day-session.is-complete{opacity:.5;filter:saturate(.5)}
.day-session.is-complete .day-session-main>strong{text-decoration:line-through}
.day-empty-state{padding:22px 0;color:#98a2b3;font-size:11px}
@media(max-width:760px){
  .day-summary-row{align-items:flex-start;flex-direction:column}
  .day-all-day,.day-agenda{grid-template-columns:1fr;gap:6px}
  .day-section-label{padding-top:0}
  .day-session{grid-template-columns:58px minmax(0,1fr)}
  .day-session-state{display:none}
}

/* v0.14 — operational dashboard / This Week */
.dashboard-head .page-subtitle{margin:5px 0 0;color:#7b8493;font-size:11px}.dashboard-head-actions{display:flex;gap:8px;align-items:center}
.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:12px;padding:19px 21px;border-radius:14px;background:#111a2b;color:#fff;box-shadow:0 4px 14px rgba(15,23,42,.08)}
.dashboard-hero h2{margin:0 0 5px;font-size:19px;letter-spacing:-.01em;color:#fff}.dashboard-hero p{margin:0;color:#b9c2d0;font-size:10.5px}.dashboard-hero .dashboard-hero-eyebrow{color:#7ee8f6;margin-bottom:5px}.dashboard-hero-link{flex:0 0 auto;padding:8px 10px;border:1px solid rgba(255,255,255,.16);border-radius:8px;color:#fff;text-decoration:none;font-size:10px;font-weight:750}.dashboard-hero-link:hover{background:rgba(255,255,255,.08)}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.metric-card{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid #e4e8ed;border-radius:11px;background:#fff;color:#111827;text-decoration:none;box-shadow:0 2px 7px rgba(15,23,42,.025)}.metric-card span{font-size:9px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:#7b8493}.metric-card strong{font-size:23px;line-height:1.05;letter-spacing:-.03em}.metric-card small{font-size:9px;color:#98a2b3}.metric-card:hover{border-color:#cfd6df}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:14px;margin-bottom:14px}.dashboard-grid-primary{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.dashboard-panel{margin-bottom:0;min-width:0}.compact-section-head{margin-bottom:9px;align-items:flex-start}.compact-section-head .eyebrow{margin-bottom:2px}.compact-section-head h2{margin:0;font-size:14px}.compact-section-head>a{font-size:9.5px;color:#596577;text-decoration:none}.compact-section-head>a:hover{color:#111827}
.dashboard-list{display:flex;flex-direction:column;gap:5px}.dashboard-row{display:grid;grid-template-columns:55px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:45px;padding:7px 9px;border:1px solid #e5e9ee;border-radius:8px;background:#fbfcfd;color:#111827;text-decoration:none}.dashboard-row:hover{background:#f7f9fb;border-color:#d7dde5}.dashboard-row.session-accent{border-left-width:3px}.dashboard-row.type-edit{border-left-color:#3b82f6}.dashboard-row.type-grade{border-left-color:#f59e0b}.dashboard-row.type-mix{border-left-color:#22c55e}.dashboard-row.type-review{border-left-color:#ec4899}.dashboard-row.type-online{border-left-color:#8b5cf6}.dashboard-row.is-complete{opacity:.52}.dashboard-time{font-size:12px;font-weight:800;color:#1f2937}.dashboard-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.dashboard-row-main strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-row-main span{font-size:8.8px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-state{padding:3px 6px;border:1px solid #e0e5eb;border-radius:999px;background:#fff;font-size:8px;color:#667085}.dashboard-empty{padding:18px 8px;color:#98a2b3;font-size:10px}.dashboard-empty.good{padding-left:0;color:#52806a}.dashboard-subsection{margin-top:13px;padding-top:11px;border-top:1px solid #eceff3}.dashboard-subsection h3,.attention-block h3{margin:0 0 6px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#697586}.task-row{grid-template-columns:24px minmax(0,1fr)}.task-dot{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#eef1f5;color:#7b8493;font-size:9px}.delivery-row{grid-template-columns:36px minmax(0,1fr) auto}.delivery-date{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 0;border-right:1px solid #e5e9ee}.delivery-date strong{font-size:13px;line-height:1}.delivery-date span{font-size:8px;text-transform:uppercase;color:#7b8493}
.attention-block+.attention-block{margin-top:12px;padding-top:11px;border-top:1px solid #eceff3}.attention-row{display:flex;flex-direction:column;gap:2px;margin-bottom:5px;padding:7px 9px;border-radius:7px;background:#fafbfc;border:1px solid #e7eaee;color:#111827;text-decoration:none}.attention-row strong{font-size:9.5px}.attention-row span{font-size:8.5px;color:#7b8493}.attention-row.danger{border-left:3px solid #ef6a6a;background:#fff8f8}
.episode-dashboard-list{display:flex;flex-direction:column;gap:7px}.episode-dashboard-row{display:grid;grid-template-columns:minmax(0,1fr) 88px 34px;align-items:center;gap:9px;padding:7px 8px;border:1px solid #e7eaee;border-radius:8px;color:#111827;text-decoration:none}.episode-dashboard-row:hover{background:#fafbfc}.episode-dashboard-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.episode-dashboard-copy strong{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.episode-dashboard-copy span{font-size:8px;color:#7b8493}.episode-progress{height:6px;border-radius:999px;background:#e9edf2;overflow:hidden}.episode-progress div{height:100%;border-radius:999px;background:#111827}.episode-percent{font-size:9px;text-align:right}
.cancelled-panel{margin-bottom:14px}.compact-cancelled-list{display:flex;flex-wrap:wrap;gap:6px}.compact-cancelled-list a{display:flex;gap:7px;padding:6px 8px;border:1px solid #e5e9ee;border-radius:7px;color:#667085;text-decoration:none;font-size:8.5px}.compact-cancelled-list strong{color:#374151}.compact-project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.compact-project-grid .project-card{padding:12px}.project-card-top{display:flex;align-items:center;justify-content:space-between;gap:7px}.project-card-client{font-size:8px;color:#8a94a3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-project-grid .project-card h3{margin:9px 0 4px;font-size:12px}.compact-project-grid .meta,.compact-project-grid .delivery{font-size:8.5px}
@media(max-width:1100px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.dashboard-grid,.dashboard-grid-primary{grid-template-columns:1fr}.dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-head-actions{width:100%}.dashboard-head-actions .button{flex:1;text-align:center}}@media(max-width:560px){.dashboard-metrics,.compact-project-grid{grid-template-columns:1fr}.dashboard-row{grid-template-columns:48px minmax(0,1fr)}.dashboard-row .row-state{display:none}.delivery-row{grid-template-columns:34px minmax(0,1fr)}.episode-dashboard-row{grid-template-columns:minmax(0,1fr) 65px 30px}}
.session-actions-popover > a {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: .55rem .7rem;
  color: inherit;
  text-decoration: none;
  font: inherit;
  white-space: nowrap;
}
.session-actions-popover > a:hover { background: rgba(15, 23, 42, .06); }
.form-actions { display: flex; gap: .6rem; justify-content: flex-end; align-items: center; margin-top: .25rem; }

/* v0.16 calendar filters + booking status */
.calendar-filters{margin-bottom:12px;padding:10px 12px}.calendar-filter-form{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto auto;gap:8px;align-items:end}.calendar-filter-form label{font-size:11px;color:var(--muted);font-weight:700}.calendar-filter-form select{margin-top:4px;padding:8px 9px;font-size:12px}.calendar-event.is-tentative,.month-session.is-tentative,.day-session.is-tentative{opacity:.68;border-style:dashed}.calendar-event.is-cancelled,.month-session.is-cancelled,.day-session.is-cancelled{opacity:.45;filter:grayscale(.45);text-decoration:line-through}.session-row .session-title{display:flex;gap:6px;align-items:center}@media(max-width:1050px){.calendar-filter-form{grid-template-columns:repeat(3,minmax(120px,1fr))}}@media(max-width:700px){.calendar-filter-form{grid-template-columns:1fr 1fr}}

/* v0.17 grouped multi-part dashboard */
.series-dashboard-list{display:flex;flex-direction:column;gap:8px}
.series-dashboard-card{border:1px solid #e4e8ee;border-radius:10px;background:#fff;overflow:hidden}
.series-dashboard-card summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) 88px 34px 18px;align-items:center;gap:9px;padding:9px 10px;cursor:pointer}
.series-dashboard-card summary::-webkit-details-marker{display:none}
.series-dashboard-card summary:hover{background:#fafbfc}
.series-summary-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.series-summary-copy strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.series-summary-copy span{font-size:8px;color:#7b8493}
.series-chevron{font-size:12px;color:#758093;text-align:right;transition:transform .15s ease}
.series-dashboard-card[open] .series-chevron{transform:rotate(180deg)}
.series-episode-list{border-top:1px solid #edf0f3;background:#fafbfc;padding:5px 8px}
.series-episode-row{display:grid;grid-template-columns:minmax(0,1fr) 76px 32px;align-items:center;gap:8px;padding:7px 5px;color:#111827;text-decoration:none;border-radius:7px}
.series-episode-row:hover{background:#fff}
.series-episode-row+.series-episode-row{border-top:1px solid #edf0f3}
@media(max-width:560px){.series-dashboard-card summary{grid-template-columns:minmax(0,1fr) 58px 30px 15px}.series-episode-row{grid-template-columns:minmax(0,1fr) 55px 28px}}


/* v0.19 — staff availability / annual leave */
.leave-bg{background:#64748b!important}
.calendar-leave-stack{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}
.calendar-leave{display:flex;flex-direction:column;gap:1px;padding:6px 7px;border:1px solid #cbd5e1;border-left:3px solid #64748b;border-radius:7px;background:#f1f5f9;color:#334155;text-decoration:none}
.calendar-leave strong{font-size:9.5px}.calendar-leave span{font-size:8px;color:#64748b}
.month-leave{background:#f1f5f9!important;border-color:#cbd5e1!important;border-left-color:#64748b!important}.month-leave .month-item-kicker{color:#475569!important}
.day-leave{border-style:solid;background:#f1f5f9;border-color:#cbd5e1}.day-leave .day-task-status{background:#64748b;color:#fff}
.availability-grid{align-items:start}.leave-list{display:flex;flex-direction:column;gap:6px}.leave-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;border:1px solid #e5e9ee;border-radius:9px;background:#fbfcfd}.leave-row.leave-past{opacity:.5}.leave-date{display:flex;flex-direction:column;align-items:center;padding-right:8px;border-right:1px solid #e5e9ee}.leave-date strong{font-size:14px;line-height:1}.leave-date span{font-size:8px;text-transform:uppercase;color:#7b8493}.leave-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.leave-copy strong{font-size:10.5px}.leave-copy span,.leave-copy small{font-size:8.5px;color:#667085}.leave-conflict{border-left:4px solid #64748b}.leave-attention{border-left:3px solid #64748b!important;background:#f8fafc!important}
@media(max-width:650px){.leave-row{grid-template-columns:36px minmax(0,1fr)}.leave-row form{grid-column:2}}

/* v0.20 updater verification */
.app-version{margin-top:8px;text-align:center;font-size:10px;letter-spacing:.08em;color:#778196}

/* v0.21 dashboard + availability polish */
.staff-away-panel{margin-bottom:14px}.staff-away-strip{display:flex;flex-wrap:wrap;gap:7px}.staff-away-chip{display:flex;flex-direction:column;gap:2px;min-width:190px;padding:8px 10px;border:1px solid #dde3ea;border-left:3px solid #64748b;border-radius:8px;background:#f8fafc;color:#111827;text-decoration:none}.staff-away-chip strong{font-size:10.5px}.staff-away-chip span{font-size:8.7px;color:#667085}.staff-away-chip:hover{background:#f3f6f9}.dashboard-grid.single-panel{grid-template-columns:1fr}.availability-status-panel{margin-bottom:14px}.staff-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.staff-status-card{padding:9px 10px;border:1px solid #e4e8ee;border-radius:9px;background:#fbfcfd}.staff-status-card.is-away{border-left:3px solid #64748b;background:#f8fafc}.staff-status-card.is-available{border-left:3px solid #22c55e}.staff-status-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.staff-status-top strong{font-size:10.5px}.staff-status-card small{display:block;margin-top:4px;font-size:8.5px;color:#667085}.availability-pill{padding:3px 6px;border-radius:999px;background:#eef2f6;color:#596577;font-size:7.8px;text-transform:uppercase;letter-spacing:.04em}.is-available .availability-pill{background:#ecfdf3;color:#297a4b}.leave-actions{display:flex;align-items:center;gap:5px}.leave-actions form{margin:0}.narrow-panel{max-width:680px}.form-actions{display:flex;align-items:center;gap:7px}@media(max-width:900px){.staff-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.staff-status-grid{grid-template-columns:1fr}.staff-away-chip{min-width:0;width:100%}.leave-actions{grid-column:2;justify-content:flex-start}}


/* v0.22 resource availability */
.availability-query-panel{padding:14px 16px;margin-bottom:14px}
.availability-query-form{display:grid;grid-template-columns:minmax(180px,1.35fr) minmax(110px,.7fr) minmax(110px,.7fr) auto;gap:10px;align-items:end}
.availability-query-form label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#27334a}
.availability-query-form input{width:100%;box-sizing:border-box;border:1px solid #dfe4ea;border-radius:9px;background:#fff;color:#172033;padding:9px 10px;font:inherit}
.availability-query-form .date-picker-wrap{min-width:0}
.availability-query-form .button{height:38px;white-space:nowrap}
.availability-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.availability-summary .metric-card{display:flex;align-items:baseline;gap:9px;padding:13px 15px;min-height:0}
.availability-summary .metric-card span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7b8495}
.availability-summary .metric-card strong{font-size:20px;color:#142039;margin-left:auto}
.availability-summary .metric-card small{font-size:11px;color:#8b93a3}
.resource-availability-grid{align-items:start}
.availability-list{display:grid;gap:7px}
.availability-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #e4e8ed;border-radius:10px;background:#fff}
.availability-row.status-available{border-left:4px solid #2da66b}
.availability-row.status-booked{border-left:4px solid #e29434}
.availability-row.status-on-leave{border-left:4px solid #cf5f79;background:#fffafb}
.availability-row.status-inactive{border-left:4px solid #a7afbc;opacity:.62}
.availability-person{min-width:0;display:grid;gap:3px}
.availability-person strong{font-size:13px;color:#172033}
.availability-person small{display:block;font-size:11px;color:#737d8e;line-height:1.35}
.availability-person a{color:#334b78;text-decoration:none}
.availability-person a:hover{text-decoration:underline}
.availability-state{flex:0 0 auto;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#f1f3f6;color:#596273}
.status-available .availability-state{background:#eaf8f1;color:#24784f}
.status-booked .availability-state{background:#fff4e5;color:#9a641f}
.status-on-leave .availability-state{background:#fdebf0;color:#9f4057}
.status-inactive .availability-state{background:#eef0f3;color:#737b87}
@media (max-width:900px){.availability-query-form{grid-template-columns:1fr 1fr}.availability-query-form label:first-child{grid-column:1/-1}.availability-query-form .button{width:100%}.availability-summary{grid-template-columns:1fr}.resource-availability-grid{grid-template-columns:1fr}}

/* v0.23 drag-and-drop scheduling */
.draggable-session[draggable="true"]{cursor:grab;position:relative}.draggable-session[draggable="true"]:active{cursor:grabbing}.drag-handle{position:absolute;top:5px;right:5px;font-size:11px;line-height:1;color:rgba(31,41,55,.46);letter-spacing:-2px;user-select:none}.day-drag-handle{top:50%;transform:translateY(-50%);right:9px}.draggable-session.is-dragging{opacity:.34}.session-drop-zone{transition:background .12s ease,box-shadow .12s ease}.session-drop-zone.is-drop-target{background:#eef5ff;box-shadow:inset 0 0 0 2px #5d7db7}.calendar-drag-hint{margin:8px 2px 0;font-size:10px;color:#7b8493}.day-time-drop-panel{display:none;margin-bottom:12px;padding:10px 12px;border:1px dashed #9aa8bd;border-radius:10px;background:#f7f9fc}.day-time-drop-panel.is-visible{display:block}.day-time-drop-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:7px}.day-time-drop-slot{padding:7px 5px;border:1px solid #dce3eb;border-radius:7px;background:#fff;text-align:center;font-size:10px;font-weight:700;color:#526078;transition:background .1s ease,border-color .1s ease,transform .1s ease}.day-time-drop-slot.is-drop-target{background:#e8f0ff;border-color:#5d7db7;color:#213c70;transform:translateY(-1px)}body.dragging-session .day-time-drop-panel{display:block}@media(max-width:800px){.day-time-drop-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}


/* v0.24 · compact episode post-pipeline experiment */
.episode-pipeline{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:10px;padding-top:9px;border-top:1px solid #e8ebef}
.pipeline-stage-form{margin:0}
.pipeline-stage{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;padding:0;color:#7b8493;font:inherit;font-size:9px;line-height:1;white-space:nowrap}
button.pipeline-stage{cursor:pointer}
button.pipeline-stage:hover{color:#111827}
.pipeline-dot{width:16px;height:16px;border:1px solid #cfd5dd;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;background:#fff;color:#8a94a3;flex:0 0 auto}
.pipeline-stage.in_progress{color:#596273}.pipeline-stage.in_progress .pipeline-dot{border-color:#86aefb;background:#eef5ff;color:#2e6fe8}
.pipeline-stage.done{color:#16834b}.pipeline-stage.done .pipeline-dot{border-color:#86d4aa;background:#ebfbf2;color:#16834b}
.pipeline-stage.session-managed{cursor:default}
@media(max-width:760px){.episode-pipeline{gap:8px 12px}.pipeline-stage{font-size:10px}}

/* v0.25 quick calendar session creation */
.header-quick-session{white-space:nowrap}
.month-day-tools,.week-day-head-actions{display:flex;align-items:center;gap:6px}
.month-day-tools{margin-left:auto}
.calendar-quick-add{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid #d7dde6;border-radius:6px;background:#fff;color:#536176;text-decoration:none;font-size:15px;font-weight:700;line-height:1;opacity:.35;transition:opacity .12s ease,border-color .12s ease,background .12s ease}
.month-day:hover .calendar-quick-add,.calendar-day:hover .calendar-quick-add,.calendar-quick-add:focus{opacity:1}
.calendar-quick-add:hover{background:#f3f6fa;border-color:#aeb9c8;color:#111827}
.calendar-empty-add{display:block;text-decoration:none;border:1px dashed #d9dfe7;border-radius:7px;padding:9px;text-align:center}.calendar-empty-add:hover{color:#111827;background:#f8fafc}
.quick-session-panel{max-width:980px}
.quick-session-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.quick-session-form label{font-size:12px;font-weight:700;color:#596579}.quick-session-form select,.quick-session-form input,.quick-session-form textarea{margin-top:5px}
.quick-span-2{grid-column:1/-1}.quick-session-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:3px}
@media(max-width:720px){.quick-session-form{grid-template-columns:1fr}.quick-span-2{grid-column:auto}.calendar-quick-add{opacity:1}}


/* v0.27 · polished horizontal manual episode status board */
.episode-status-board{
  margin-top:14px;
  border:1px solid #e1e6ed;
  border-radius:12px;
  overflow-x:auto;
  overflow-y:hidden;
  background:#fff;
  box-shadow:0 2px 7px rgba(15,23,42,.025)
}
.episode-status-head,.episode-status-row{
  display:grid;
  grid-template-columns:minmax(180px,1.65fr) repeat(7,minmax(54px,.52fr)) minmax(86px,.72fr) 46px;
  align-items:center;
  column-gap:7px;
  min-width:840px
}
.episode-status-head{
  padding:9px 12px;
  background:#f7f8fb;
  border-bottom:1px solid #e1e6ed;
  color:#6c788b;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
  text-align:center
}
.episode-status-head .episode-name-col{text-align:left}
.stage-heading{--stage-color:#64748b;display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
.stage-heading i{display:block;width:6px;height:6px;border-radius:50%;background:var(--stage-color);box-shadow:0 0 0 2px rgba(255,255,255,.85)}
.episode-status-row{
  position:relative;
  padding:10px 12px;
  min-height:60px;
  border-bottom:1px solid #e8ecf1;
  transition:background .12s ease
}
.episode-status-row:last-child{border-bottom:0}
.episode-status-row:hover{background:#fbfcfe}
.episode-name-col{min-width:0}
.episode-name-col strong{display:block;color:#152033;font-size:12px;line-height:1.2}
.episode-name-col span{display:block;margin-top:4px;color:#7a8698;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.episode-check-form{margin:0;display:flex;justify-content:center;align-items:center}
.episode-check{
  --stage-color:#64748b;
  --stage-soft:#f1f5f9;
  position:relative;
  width:33px;
  height:33px;
  padding:0;
  border:1.5px solid #cbd3de;
  border-radius:8px;
  background:#fff;
  color:#fff;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  transition:transform .08s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease
}
.episode-check::before{
  content:"";
  position:absolute;
  inset:50% auto auto 50%;
  width:12px;
  height:12px;
  border:2px solid #aab4c2;
  border-radius:50%;
  transform:translate(-50%,-50%);
  box-sizing:border-box
}
.episode-check::after{
  content:"✓";
  position:absolute;
  inset:50% auto auto 50%;
  color:#fff;
  font-size:19px;
  font-weight:900;
  line-height:1;
  opacity:0;
  transform:translate(-50%,-48%) scale(.72) rotate(-5deg);
  transition:opacity .1s ease,transform .1s ease
}
.episode-check:hover{border-color:var(--stage-color);background:var(--stage-soft);transform:translateY(-1px);box-shadow:0 3px 8px rgba(15,23,42,.08)}
.episode-check:focus-visible{outline:3px solid rgba(59,130,246,.24);outline-offset:2px}
.episode-check.checked{border-color:var(--stage-color);background:var(--stage-color);box-shadow:0 3px 8px rgba(15,23,42,.11)}
.episode-check.checked::before{opacity:0}
.episode-check.checked::after{opacity:1;transform:translate(-50%,-48%) scale(1) rotate(-5deg)}
.stage-received{--stage-color:#0891b2;--stage-soft:#ecfeff}
.stage-edit{--stage-color:#3b82f6;--stage-soft:#eff6ff}
.stage-grade{--stage-color:#f59e0b;--stage-soft:#fffbeb}
.stage-mix{--stage-color:#22c55e;--stage-soft:#f0fdf4}
.stage-online{--stage-color:#8b5cf6;--stage-soft:#f5f3ff}
.stage-delivered{--stage-color:#ec4899;--stage-soft:#fdf2f8}
.stage-archived{--stage-color:#475569;--stage-soft:#f1f5f9}
.episode-progress-col{text-align:center;min-width:0}
.episode-progress-col strong{display:block;color:#162033;font-size:12px;line-height:1.1}
.episode-progress-col>span{display:block;margin-top:2px;color:#8a94a3;font-size:8.5px}
.episode-status-progress{height:4px;margin:6px auto 0;max-width:62px;border-radius:999px;background:#e8edf3;overflow:hidden}
.episode-status-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#10a6b2,#ec4899)}
.compact-delete{margin:0;text-align:center}
@media(max-width:1050px){
  .episode-status-head,.episode-status-row{min-width:840px}
}

/* v0.27 · horizontal, reversible episode production tracker */
.episode-status-board{
  margin-top:14px;
  overflow-x:auto;
  border:1px solid #dfe4eb;
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 8px rgba(15,23,42,.035);
}
.episode-status-head,
.episode-status-row{
  display:grid;
  grid-template-columns:minmax(190px,1.55fr) repeat(7,64px) minmax(116px,.8fr) 34px;
  align-items:center;
  column-gap:8px;
  min-width:900px;
}
.episode-status-head{
  position:sticky;
  top:0;
  z-index:2;
  padding:9px 12px;
  border-bottom:1px solid #dfe4eb;
  background:#f6f8fb;
  color:#68758a;
  font-size:9px;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
  text-align:center;
}
.episode-status-head .episode-name-col{text-align:left}
.episode-status-row{
  position:relative;
  min-height:64px;
  padding:10px 12px;
  border-bottom:1px solid #e7ebf0;
  transition:background .12s ease;
}
.episode-status-row:last-child{border-bottom:0}
.episode-status-row:hover{background:#fbfcfe}
.episode-name-col{min-width:0}
.episode-name-col strong{
  display:block;
  overflow:hidden;
  color:#152033;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.episode-name-col span{
  display:block;
  margin-top:4px;
  color:#7a8698;
  font-size:9.5px;
  line-height:1.25;
}
.episode-check-form{
  display:flex!important;
  align-items:center;
  justify-content:center;
  margin:0!important;
}
.episode-check{
  --stage-color:#0ea5b7;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:40px;
  min-width:40px;
  height:40px;
  margin:0;
  padding:0;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#fff;
  cursor:pointer;
  transition:transform .08s ease,opacity .12s ease;
}
.episode-check.stage-received{--stage-color:#64748b}
.episode-check.stage-edit{--stage-color:#3b82f6}
.episode-check.stage-grade{--stage-color:#f59e0b}
.episode-check.stage-mix{--stage-color:#22b96b}
.episode-check.stage-online{--stage-color:#8b5cf6}
.episode-check.stage-delivered{--stage-color:#0ea5a8}
.episode-check.stage-archived{--stage-color:#172033}
.episode-check:hover{transform:translateY(-1px)}
.episode-check:focus-visible{outline:3px solid rgba(37,99,235,.2);outline-offset:2px}
.episode-check:disabled{cursor:wait;opacity:.58;transform:none}
.episode-check-box{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1.5px solid #c6ced9;
  border-radius:8px;
  background:#f8fafc;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .08s ease;
}
.episode-check:hover .episode-check-box{
  border-color:var(--stage-color);
  background:#fff;
  box-shadow:0 0 0 3px rgba(59,130,246,.08);
}
.episode-check-box svg{
  width:21px;
  height:21px;
  overflow:visible;
  fill:none;
  stroke:#fff;
  stroke-width:3.1;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:0;
  transform:scale(.58) rotate(-5deg);
  transition:opacity .12s ease,transform .14s ease;
}
.episode-check.checked .episode-check-box{
  border-color:var(--stage-color);
  background:var(--stage-color);
  box-shadow:0 3px 9px rgba(15,23,42,.14),inset 0 1px 0 rgba(255,255,255,.2);
}
.episode-check.checked .episode-check-box svg{
  opacity:1;
  transform:scale(1) rotate(-3deg);
}
.episode-check.is-saving .episode-check-box{animation:episode-check-pulse .7s ease-in-out infinite alternate}
@keyframes episode-check-pulse{from{opacity:.5}to{opacity:1}}
.mobile-stage-label{display:none!important}
.episode-progress-col{
  display:grid;
  gap:6px;
  padding:0 7px;
  text-align:left;
}
.episode-progress-copy{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.episode-progress-copy strong{color:#162033;font-size:12px;line-height:1}
.episode-progress-copy span{color:#8993a3;font-size:9px;line-height:1}
.episode-progress-track{
  height:5px;
  overflow:hidden;
  border-radius:999px;
  background:#e9edf2;
}
.episode-progress-track span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#22d3ee,#ec4899);
  transition:width .18s ease;
}
.compact-delete{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.episode-remove-button{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  margin:0;
  padding:0;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#9aa4b2;
  cursor:pointer;
  transition:background .12s ease,color .12s ease;
}
.compact-delete .episode-remove-button:hover{background:#fff0f1;color:#b4232d}
.compact-delete .episode-remove-button svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(max-width:1050px){
  .episode-status-board{overflow-x:auto}
  .episode-status-head,.episode-status-row{min-width:900px}
}
@media(max-width:680px){
  .episode-status-board{overflow-x:auto!important;border:1px solid #dfe4eb!important;background:#fff!important}
  .episode-status-head{display:grid!important}
  .episode-status-row{
    display:grid!important;
    grid-template-columns:minmax(190px,1.55fr) repeat(7,64px) minmax(116px,.8fr) 34px!important;
    gap:0 8px!important;
    min-width:900px!important;
    margin:0!important;
    padding:10px 12px!important;
    border:0!important;
    border-bottom:1px solid #e7ebf0!important;
    border-radius:0!important;
  }
  .episode-status-row:last-child{border-bottom:0!important}
  .episode-name-col{grid-column:auto!important}
  .episode-check-form{flex-direction:row!important;gap:0!important}
  .episode-progress-col{grid-column:auto!important}
  .compact-delete{align-self:center!important}
}
.episode-actions-col{min-width:0}
.compact-delete .episode-remove-button{display:inline-grid;place-items:center;width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:#9aa3af;cursor:pointer;padding:0;transition:color .12s ease,background .12s ease}
.compact-delete .episode-remove-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.compact-delete .episode-remove-button:hover{color:#b4232d;background:#fff1f2}

/* Lounge Operations v0.1 -------------------------------------------------- */
.brand-app{letter-spacing:.055em}.app-version{font-size:8.5px;letter-spacing:.035em;opacity:.68}
.message-banner{margin:-4px 0 12px;padding:9px 12px;border:1px solid #b9dfcc;border-radius:9px;background:#effaf4;color:#17643c;font-size:10px;font-weight:700}
.form-subsection{margin:15px 0;padding:15px;border:1px solid #e2e7ed;border-radius:12px;background:#fafbfd}
.tracker-setup-card h2{margin-bottom:3px}.preset-preview{min-height:31px;margin-top:10px;padding:8px 10px;border:1px dashed #d4dbe4;border-radius:8px;background:#fff;color:#617083;font-size:9.5px}
.compact-copy{margin:-5px 0 11px;font-size:9px}

/* Manual project / episode progress tracker */
.tracker-panel{overflow:hidden}.tracker-scroll{overflow-x:auto;padding-bottom:2px}.tracker-board{min-width:max(760px,calc(230px + var(--tracker-stage-count)*78px));border:1px solid #dfe5ec;border-radius:11px;background:#fff;overflow:hidden}
.tracker-head,.tracker-row{display:grid;grid-template-columns:minmax(170px,1.5fr) repeat(var(--tracker-stage-count),minmax(66px,.72fr)) 34px;align-items:center;column-gap:7px;padding:9px 11px}
.tracker-head{min-height:40px;border-bottom:1px solid #e4e9ef;background:#f7f9fb;color:#5e6a7a;font-size:8px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.tracker-row{min-height:56px;border-bottom:1px solid #e9edf2}.tracker-row:last-child{border-bottom:0}.tracker-row:hover{background:#fbfcfe}
.tracker-name-col{min-width:0}.tracker-name-col strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#172033;font-size:11px}
.tracker-stage-heading{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;text-align:center;white-space:nowrap}.tracker-stage-heading i{width:7px;height:7px;flex:0 0 auto;border-radius:50%}
.tracker-check-form{display:flex;align-items:center;justify-content:center;margin:0}.tracker-check{display:grid;place-items:center;width:30px;height:30px;margin:0;padding:0;border:1px solid #cfd6df;border-radius:8px;background:#fff;color:#fff;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease}
.tracker-check:hover{border-color:var(--stage-color);background:color-mix(in srgb,var(--stage-color) 8%,white);transform:translateY(-1px);box-shadow:0 3px 8px rgba(15,23,42,.08)}
.tracker-check:focus-visible{outline:3px solid rgba(59,130,246,.22);outline-offset:2px}.tracker-check:disabled{cursor:wait;opacity:.58;transform:none}
.tracker-check-box{display:grid;place-items:center;width:18px;height:18px;border:1.5px solid #c5ced9;border-radius:5px;background:#fff;transition:inherit}.tracker-check-box svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.65);transition:opacity .12s ease,transform .12s ease}
.tracker-check.checked{border-color:var(--stage-color);background:var(--stage-color);box-shadow:0 3px 9px color-mix(in srgb,var(--stage-color) 25%,transparent)}.tracker-check.checked .tracker-check-box{border-color:transparent;background:transparent}.tracker-check.checked .tracker-check-box svg{opacity:1;transform:scale(1)}.tracker-check.is-saving{animation:tracker-pulse .65s ease-in-out infinite alternate}@keyframes tracker-pulse{from{opacity:.5}to{opacity:1}}
.tracker-actions-col{min-width:0}.tracker-remove-form{display:flex;justify-content:center;margin:0}.tracker-remove-form .episode-remove-button{width:28px;height:28px}
.tracker-config{margin-top:12px;border-top:1px solid #e8ecf1;padding-top:10px}.tracker-config>summary{cursor:pointer;color:#445066;font-size:9.5px;font-weight:750}.tracker-config-body{display:grid;gap:13px;margin-top:12px;padding:12px;border:1px solid #e4e9ef;border-radius:10px;background:#fafbfd}.tracker-preset-form{margin:0}.tracker-stage-manager{display:flex;flex-wrap:wrap;gap:7px}.tracker-stage-chip{display:flex;align-items:center;gap:6px;padding:5px 6px 5px 8px;border:1px solid #dce2e9;border-radius:999px;background:#fff}.tracker-stage-chip>i{width:7px;height:7px;border-radius:50%;background:var(--stage-color)}.tracker-stage-chip>strong{font-size:8.5px;color:#384456}.tracker-stage-actions{display:flex;gap:2px}.tracker-stage-actions form{margin:0}.tracker-stage-actions button{display:grid;place-items:center;width:21px;height:21px;padding:0;border:0;border-radius:50%;background:#f1f4f7;color:#6b7687;font-size:10px;cursor:pointer}.tracker-stage-actions button:hover{background:#e5ebf1;color:#1e293b}.tracker-stage-actions button:disabled{opacity:.32;cursor:default}.tracker-stage-actions .danger-menu-item:hover{background:#fff0f1;color:#b4232d}.tracker-add-stage{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:end;gap:8px}.tracker-add-stage label{margin:0}
.tracker-session-suggestion{display:grid!important;grid-template-columns:17px minmax(0,1fr);column-gap:7px;align-items:start;padding:9px 10px;border:1px solid #d8e2ef;border-radius:9px;background:#f5f8fc;color:#344054}.tracker-session-suggestion[hidden]{display:none!important}.tracker-session-suggestion input{margin:1px 0 0}.tracker-session-suggestion span{font-size:9px;font-weight:700}.tracker-session-suggestion small{grid-column:2;color:#758195;font-size:8px;font-weight:400}

/* Additional post-production session colours */
.type-conform-bg{background:#6366f1}.type-vfx-bg{background:#d946ef}.type-qc-bg{background:#ef4444}
.calendar-event.type-conform,.month-session.type-conform{background:#f1f1ff;border-color:#adaff4;border-left-color:#6366f1!important}.calendar-event.type-conform .calendar-event-type,.month-session.type-conform .month-item-kicker{color:#4f46c7!important}
.calendar-event.type-vfx,.month-session.type-vfx{background:#fff0ff;border-color:#e4a4e9;border-left-color:#d946ef!important}.calendar-event.type-vfx .calendar-event-type,.month-session.type-vfx .month-item-kicker{color:#b22fc4!important}
.calendar-event.type-qc,.month-session.type-qc{background:#fff1f1;border-color:#f3aaaa;border-left-color:#ef4444!important}.calendar-event.type-qc .calendar-event-type,.month-session.type-qc .month-item-kicker{color:#c62d2d!important}
.day-session.type-conform{background:#f1f1ff;border-color:#adaff4;border-left-color:#6366f1}.day-session.type-vfx{background:#fff0ff;border-color:#e4a4e9;border-left-color:#d946ef}.day-session.type-qc{background:#fff1f1;border-color:#f3aaaa;border-left-color:#ef4444}
.dashboard-row.type-conform{border-left-color:#6366f1}.dashboard-row.type-vfx{border-left-color:#d946ef}.dashboard-row.type-qc{border-left-color:#ef4444}

/* Dashboard series cards no longer imply percentage completion. */
.series-dashboard-card>summary{grid-template-columns:minmax(0,1fr) auto 18px}.series-episode-row{grid-template-columns:minmax(0,1fr) auto}.series-dashboard-card .row-state{white-space:nowrap}

@media(max-width:900px){.tracker-board{min-width:max(720px,calc(210px + var(--tracker-stage-count)*74px))}.tracker-head,.tracker-row{grid-template-columns:minmax(155px,1.35fr) repeat(var(--tracker-stage-count),minmax(62px,.7fr)) 32px}.tracker-add-stage{grid-template-columns:1fr}}

/* Lounge Operations v0.2 · Documents foundation ------------------------- */
.header-actions,.inline-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.section-tabs{display:inline-flex;gap:3px;margin:-6px 0 14px;padding:3px;border:1px solid #dde3ea;border-radius:9px;background:#fff}
.section-tabs a{padding:7px 12px;border-radius:6px;color:#667085;font-size:10.5px;font-weight:750;text-decoration:none}
.section-tabs a:hover{background:#f5f7fa;color:#1f2937}.section-tabs a.active{background:#111827;color:#fff}
.drive-location-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px}
.drive-location-copy,.project-documents-title{display:flex;align-items:center;gap:12px;min-width:0}
.drive-location-copy h2,.project-documents-title h2{margin:0 0 2px}.drive-location-copy .eyebrow,.project-documents-title .eyebrow{margin-bottom:2px}
.drive-folder-icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:#edf8fb;color:#0b8fa4;font-size:17px}
.drive-url-preview{max-width:620px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.compact-details{flex:0 0 min(430px,46%);padding:0;border:0}.compact-details>summary{cursor:pointer;color:#475467;font-size:10px;font-weight:750;text-align:right}
.drive-folder-form{display:grid;gap:8px;margin-top:8px}.drive-folder-form label{display:grid;gap:4px;color:#556175;font-size:10px;font-weight:700}
.drive-folder-form input{width:100%}
.documents-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:12px 14px}
.document-filter-form{display:flex;align-items:end;gap:8px;flex:1;min-width:0}.document-filter-form label{display:grid;gap:4px;color:#637083;font-size:9.5px;font-weight:750}.document-filter-form .search-field{flex:1;min-width:220px}.document-filter-form select{min-width:180px}
.document-count{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.document-count strong{font-size:18px;color:#111827}.document-count span{font-size:9px;color:#7b8797}
.documents-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr);gap:14px;align-items:start}
.document-library-panel,.document-add-panel{margin-bottom:0}.document-add-panel{position:sticky;top:18px}.document-add-panel>h2{margin-bottom:4px}.document-add-panel>.muted{margin-bottom:12px;font-size:10px}
.document-list{display:grid}.document-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #e8ecf1}.document-row:first-child{padding-top:2px}.document-row:last-child{border-bottom:0;padding-bottom:2px}
.document-type-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#eef3f8;color:#516174;font-size:8px;font-weight:850;letter-spacing:.08em}
.document-copy{min-width:0}.document-title-line{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.document-title-line strong{max-width:100%;overflow:hidden;color:#172033;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.document-copy p{margin:4px 0 3px;color:#5f6b7c;font-size:10px;line-height:1.35}.document-meta{display:block;color:#8a94a3;font-size:8.5px}
.document-category,.document-version{display:inline-flex;align-items:center;min-height:19px;padding:2px 6px;border-radius:999px;background:#eef7fa;color:#087f92;font-size:7.8px;font-weight:800;letter-spacing:.025em}.document-version{background:#f2f3f6;color:#5e6978}
.document-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.document-actions form{margin:0}.icon-danger-button{display:grid;place-items:center;width:27px;height:27px;padding:0;border:0;border-radius:7px;background:transparent;color:#9aa4b2;font-size:17px;cursor:pointer}.icon-danger-button:hover{background:#fff1f2;color:#b4232d}
.document-empty{padding:34px 10px}.empty-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 9px;border-radius:12px;background:#f0f3f7;color:#6c788a;font-size:18px}
.document-form{gap:9px}.document-form textarea{resize:vertical}.document-edit-panel{max-width:760px}.form-panel{padding:20px}
.project-documents-summary{padding:13px 15px}.project-documents-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.project-documents-title .drive-folder-icon{width:34px;height:34px}.document-summary-empty{margin:8px 0 0;font-size:10px}
.recent-document-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.recent-document-strip a{display:block;min-width:0;padding:8px 9px;border:1px solid #e2e7ed;border-radius:8px;background:#fafbfd;text-decoration:none}.recent-document-strip a:hover{border-color:#cad3de;background:#fff}.recent-document-strip span{display:block;margin-bottom:3px;color:#798596;font-size:7.5px;font-weight:800;text-transform:uppercase}.recent-document-strip strong{display:block;overflow:hidden;color:#273447;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.drive-settings-panel{padding:16px 18px}.drive-settings-head{align-items:flex-start;margin-bottom:12px}.drive-settings-head h2{margin-bottom:3px}.drive-settings-head .muted{max-width:760px;font-size:10px}
.drive-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.drive-settings-form>label{display:grid;gap:4px;color:#526074;font-size:9.5px;font-weight:750}.drive-settings-form>label:first-child{grid-column:1/-1}.drive-settings-form>.button{justify-self:start}.drive-input-row{display:flex;align-items:center;gap:6px}.drive-input-row input{min-width:0;flex:1}

@media(max-width:1050px){
  .documents-layout{grid-template-columns:1fr}.document-add-panel{position:static}.compact-details{flex-basis:52%}.recent-document-strip{grid-template-columns:1fr 1fr}.drive-settings-form{grid-template-columns:1fr}.drive-settings-form>label:first-child{grid-column:auto}
}
@media(max-width:760px){
  .documents-page-head,.project-documents-head,.drive-location-panel,.documents-toolbar{align-items:stretch;flex-direction:column}.header-actions,.project-documents-head .inline-actions{justify-content:flex-start}.compact-details{flex-basis:auto;width:100%}.compact-details>summary{text-align:left}.document-filter-form{align-items:stretch;flex-direction:column}.document-filter-form .search-field{min-width:0}.document-filter-form select{min-width:0}.document-count{align-self:flex-start}.document-row{grid-template-columns:36px minmax(0,1fr)}.document-actions{grid-column:2;justify-content:flex-start}.recent-document-strip{grid-template-columns:1fr}.drive-settings-form{grid-template-columns:1fr}.drive-input-row{align-items:stretch;flex-direction:column}.drive-input-row .button{align-self:flex-start}
}

/* Lounge Operations v0.3 · Direct Google Drive integration -------------- */
.drive-connection-panel{padding:16px 18px}.drive-status-badge{display:inline-flex;align-items:center;min-height:26px;padding:5px 9px;border:1px solid #d9e0e8;border-radius:999px;background:#f4f6f8;color:#667085;font-size:8.5px;font-weight:850;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}
.drive-status-connected{border-color:#a9dcc1;background:#edf9f2;color:#167044}.drive-status-ready_to_connect{border-color:#bdd8eb;background:#eff8ff;color:#176b96}.drive-status-libraries_missing,.drive-status-credentials_missing{border-color:#f4d6a3;background:#fff8e9;color:#9a5d08}.drive-status-connection_error{border-color:#f1b8bd;background:#fff1f2;color:#a42a34}
.drive-setup-grid{display:grid;gap:10px}.drive-setup-card,.drive-connected-card,.drive-setup-callout{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid #e1e6ec;border-radius:11px;background:#fafbfd}.drive-setup-card strong,.drive-connected-card strong,.drive-setup-callout strong{display:block;margin-bottom:3px;color:#172033;font-size:11.5px}.drive-setup-card p,.drive-connected-card p,.drive-setup-callout p{margin:0;color:#687487;font-size:9.5px;line-height:1.45}.drive-connected-card{border-color:#b9dfcc;background:#f4fbf7}.drive-connected-card>div:nth-child(2){min-width:0;flex:1}.drive-connected-card span{display:block;margin-top:3px;color:#668174;font-size:8.5px}.drive-connected-mark{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:#1f9a61;color:#fff;font-size:17px;font-weight:900}.drive-error-card{border-color:#f2c1c5;background:#fff6f7}.credential-upload-form{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.credential-upload-form input[type=file]{max-width:290px;padding:6px;border:1px solid #d8dee7;border-radius:8px;background:#fff;color:#586578;font-size:9px}.drive-oauth-help{margin-top:10px!important;max-width:none!important;width:100%!important}.drive-oauth-help>summary{text-align:left!important}.drive-oauth-help ol{margin:9px 0 0;padding-left:18px;color:#667085;font-size:9.5px;line-height:1.6}.checkbox-line{display:flex!important;grid-column:1/-1;align-items:flex-start;gap:8px!important;padding:9px 10px;border:1px solid #e0e6ed;border-radius:9px;background:#fafbfd}.checkbox-line input{flex:0 0 auto;width:auto!important;margin-top:1px}.checkbox-line span{color:#475467;font-size:9.5px;font-weight:650;line-height:1.4}
.drive-location-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.drive-location-actions .compact-details{flex-basis:auto;min-width:170px}.documents-action-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:14px;align-items:start}.drive-upload-panel,.drive-browser-panel{margin-bottom:0}.drive-upload-panel .section-head,.drive-browser-panel .section-head{align-items:flex-start}.drive-upload-form{display:grid;gap:10px}.drive-drop-zone{display:grid;place-items:center;gap:4px;min-height:145px;padding:18px;border:1.5px dashed #b9c4d1;border-radius:12px;background:#fafcfe;color:#637083;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.drive-drop-zone:hover,.drive-drop-zone.is-dragging{border-color:#0795a9;background:#f0fbfd;transform:translateY(-1px)}.drive-drop-zone input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.drop-zone-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e9f7fa;color:#0c8da2;font-size:20px;font-weight:800}.drive-drop-zone strong{color:#233044;font-size:12px}.drive-drop-zone>span:not(.drop-zone-icon){font-size:9.5px}.drive-drop-zone small{margin-top:4px;color:#0a8295;font-size:8.5px;font-weight:750}.drive-upload-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.upload-wait-note{font-size:8.5px}.drive-live-list{display:grid;max-height:330px;overflow:auto;border-top:1px solid #e8ecf1}.drive-live-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #edf0f4}.drive-live-row:last-child{border-bottom:0}.drive-live-row>div:first-child{min-width:0}.drive-live-row strong{display:block;overflow:hidden;color:#253246;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.drive-live-row span{display:block;margin-top:2px;color:#8a94a3;font-size:8px}.drive-catalogue-dot{display:block!important;width:8px;height:8px;border:1px solid #bfc8d3;border-radius:50%;background:#fff}.drive-catalogue-dot.is-catalogued{border-color:#17975f;background:#22b96b}.drive-folder-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.drive-folder-chips a{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border:1px solid #dfe5ec;border-radius:999px;background:#f8fafc;color:#526074;font-size:8.5px;font-weight:750;text-decoration:none}.drive-folder-chips a:hover{border-color:#bdcad7;background:#fff}.drive-inline-error{margin-bottom:8px;padding:8px 9px;border:1px solid #f0c2c6;border-radius:8px;background:#fff3f4;color:#9c2832;font-size:9px}.compact-empty{padding:20px 8px}.drive-setup-callout{margin-bottom:14px}.document-library-panel{margin-bottom:0}.document-manual-details{flex-basis:auto;min-width:180px}.document-manual-details[open]{flex-basis:min(620px,100%)}.manual-document-form{min-width:min(580px,72vw);margin-top:10px;padding:12px;border:1px solid #e2e7ed;border-radius:10px;background:#fafbfd}.document-type-mark{background:#eef3f8}.document-row .document-type-mark:has(+ .document-copy .document-meta){letter-spacing:.06em}

@media(max-width:1120px){.documents-action-grid{grid-template-columns:1fr}.drive-browser-panel{order:2}.drive-upload-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.drive-setup-card,.drive-connected-card,.drive-setup-callout{align-items:stretch;flex-direction:column}.credential-upload-form{align-items:stretch;justify-content:flex-start}.credential-upload-form input[type=file]{max-width:none;width:100%}.drive-location-actions{justify-content:flex-start}.drive-upload-fields{grid-template-columns:1fr}.drive-drop-zone{min-height:125px}.drive-live-row{align-items:flex-start;flex-direction:column}.drive-live-row .inline-actions{justify-content:flex-start}.manual-document-form{min-width:0;width:100%}.document-manual-details[open]{width:100%}}

/* v0.3.1 document performance + safe actions */
.upload-destination-warning { margin-top: .65rem; }
.document-actions-menu { position: relative; }
.document-actions-menu > summary { white-space: nowrap; }
.document-action-popover {
  display: grid;
  gap: .45rem;
  min-width: 220px;
  margin-top: .5rem;
  padding: .65rem;
  border: 1px solid var(--border, #dbe2ea);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .14);
}
.document-action-popover form,
.document-action-popover .button { width: 100%; }
.button.danger { background: #b42318; color: #fff; border-color: #b42318; }

/* v0.4 Template Manager */
.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.template-card{display:flex;flex-direction:column;gap:10px}.template-meta{display:flex;gap:8px;flex-wrap:wrap}.template-meta span{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--border,#d9dde4);border-radius:999px;background:#f7f8fa;font-size:.78rem;color:#556070}.template-task-preview{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid var(--border,#e4e7ec);font-size:.82rem}.template-picker-card{border:1px solid rgba(41,61,88,.12);background:#f8f9fb;border-radius:12px;padding:14px}.text-link{font-size:.82rem;font-weight:600;text-decoration:none;color:#334a68}.danger-text{color:#a53737!important}.empty-state{text-align:center;padding:32px}.empty-state .button{margin-top:10px}

/* v0.4.2 month drag-and-drop */
.month-day.session-drop-zone{transition:background .12s ease,box-shadow .12s ease}.month-day.session-drop-zone.is-drop-target{background:#eef5ff;box-shadow:inset 0 0 0 2px #5d7db7}.month-drag-handle{top:6px;right:5px;font-size:9px}.month-session.draggable-session{padding-right:18px}

/* v0.5 project operations */
.project-operations-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px}.operations-panel{min-width:0}.contact-list,.deliverable-list,.production-log-list{display:grid;gap:8px;margin-top:12px}.contact-card,.deliverable-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line,#dfe4ec);border-radius:12px;padding:10px 12px;background:#fff}.contact-main,.deliverable-copy{min-width:0;display:grid;gap:3px;flex:1}.contact-main>span,.deliverable-copy>span,.contact-main small,.deliverable-copy small{color:var(--muted,#68758b);font-size:.86rem}.contact-links{display:flex;gap:12px;flex-wrap:wrap;font-size:.86rem}.contact-links a{color:var(--ink,#152033);text-decoration:none}.contact-links a:hover{text-decoration:underline}.icon-button{width:28px;height:28px;border-radius:8px;border:1px solid #dde3eb;background:#f6f8fb;display:inline-grid;place-items:center;font-size:18px;line-height:1;cursor:pointer}.danger-quiet{color:#a92a2a}.deliverable-check{width:31px;height:31px;border:1px solid #ccd5df;border-radius:50%;background:#fff;font-size:18px;font-weight:700;cursor:pointer;color:#526176}.deliverable-row.is-done{background:#f6faf7}.deliverable-row.is-done .deliverable-check{background:#e8f7ed;border-color:#8ed5a7;color:#167342}.deliverable-row.is-done .deliverable-copy strong{text-decoration:line-through;color:#66756d}.production-log-panel{margin-top:18px}.production-log-list{margin-top:14px}.production-log-entry{position:relative;border-left:3px solid #1b8fa8;padding:10px 14px;border-radius:0 10px 10px 0;background:#f8fafc}.production-log-entry p{margin:8px 0 6px;white-space:pre-wrap}.production-log-meta{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.production-log-meta span{font-size:.82rem;color:var(--muted,#68758b)}.text-button{border:0;background:transparent;padding:0;cursor:pointer;font:inherit;font-size:.82rem}.danger-text{color:#a92a2a}.log-entry-form textarea{resize:vertical;min-height:76px}
@media (max-width:980px){.project-operations-grid{grid-template-columns:1fr}}

/* v0.5.1 · shared Lounge Contacts directory */
.contacts-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:12px 14px}.contacts-search{display:flex;align-items:center;gap:8px;flex:1;max-width:760px}.contacts-search input{flex:1;min-width:180px}.contacts-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:18px;align-items:start}.directory-list{display:grid;gap:8px;margin-top:12px}.directory-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line,#dfe4ec);border-radius:12px;background:#fff}.directory-card.is-archived{opacity:.62;background:#f8fafc}.directory-main{display:grid;gap:4px;min-width:0}.directory-main>span,.directory-main small{color:var(--muted,#68758b);font-size:.86rem}.directory-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.contact-project-history{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.contact-project-history a{display:inline-flex;padding:3px 7px;border-radius:999px;background:#f1f5f9;color:#435168;text-decoration:none;font-size:.76rem}.contact-project-history a:hover{background:#e7eef6}.row-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.row-actions form{margin:0}.contact-create-panel{position:sticky;top:18px}.narrow-panel{max-width:720px}.inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notice{margin:0 0 14px;padding:10px 12px;border-radius:10px}.notice.success{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}.notice.warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}
@media(max-width:980px){.contacts-layout{grid-template-columns:1fr}.contact-create-panel{position:static}.contacts-toolbar{align-items:stretch;flex-direction:column}.contacts-search{max-width:none}.directory-card{align-items:flex-start;flex-direction:column}.row-actions{width:100%}}

/* v0.6 project workspace -------------------------------------------------- */
.project-workspace-tabs{display:flex;align-items:center;gap:4px;margin:0 0 16px;padding:4px;border:1px solid #dce3eb;border-radius:12px;background:#fff;overflow-x:auto;white-space:nowrap;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.project-workspace-tabs button{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:8px 11px;border:0;border-radius:8px;background:transparent;color:#667085;font:inherit;font-size:10px;font-weight:750;cursor:pointer}
.project-workspace-tabs button:hover{background:#f4f6f8;color:#253247}.project-workspace-tabs button.active{background:#172033;color:#fff}.project-workspace-tabs button span{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#eef2f6;color:#637083;font-size:8px}.project-workspace-tabs button.active span{background:rgba(255,255,255,.16);color:#fff}
.project-workspace-panel[hidden]{display:none!important}.project-workspace-panel{margin-top:0}.project-workspace-panel+.project-workspace-panel{margin-top:0}
.project-workspace-panel.project-overview{margin-bottom:0}.project-workspace-panel.danger-zone{margin-top:16px}.project-workspace-panel.production-log-panel{margin-top:0}
@media(max-width:760px){.project-workspace-tabs{margin-left:-2px;margin-right:-2px}.project-workspace-tabs button{padding:8px 10px}.project-head-actions{gap:5px}.project-title{align-items:flex-start;flex-direction:column}}

/* v0.7 calendar subscriptions */
.feed-settings-panel,.feed-list-panel,.feed-help-panel{margin-bottom:16px}.feed-base-form{display:grid;gap:12px}.feed-base-form label{display:grid;gap:7px}.feed-base-form input,.feed-url{width:100%;box-sizing:border-box;border:1px solid #d9dee8;border-radius:9px;background:#fff;padding:9px 11px;font:inherit;color:#172033}.feed-list{display:grid;gap:0}.feed-row{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(260px,1.45fr);gap:18px;align-items:center;padding:12px 0;border-top:1px solid #e7eaf0}.feed-row:first-of-type{border-top:0}.feed-row>div{display:grid;gap:3px}.feed-row span{font-size:12px;color:#7c8596}.feed-url{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;background:#f8f9fb}.feed-security-note{margin-top:16px;border-top:1px solid #e7eaf0;padding-top:14px}.feed-security-note p{margin:4px 0 12px;color:#697386}.feed-grid{align-items:start}@media(max-width:900px){.feed-row{grid-template-columns:1fr;gap:8px}}

/* v0.7 calendar subscriptions */
.feed-settings-panel,.feed-list-panel,.feed-help-panel{margin-bottom:16px}.feed-base-form{display:grid;gap:12px}.feed-base-form label{display:grid;gap:7px}.feed-base-form input,.feed-url{width:100%;box-sizing:border-box;border:1px solid #d9dee8;border-radius:9px;background:#fff;padding:9px 11px;font:inherit;color:#172033}.feed-list{display:grid;gap:0}.feed-row{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(260px,1.45fr);gap:18px;align-items:center;padding:12px 0;border-top:1px solid #e7eaf0}.feed-row:first-of-type{border-top:0}.feed-row>div{display:grid;gap:3px}.feed-row span{font-size:12px;color:#7c8596}.feed-url{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;background:#f8f9fb}.feed-security-note{margin-top:16px;border-top:1px solid #e7eaf0;padding-top:14px}.feed-security-note p{margin:4px 0 12px;color:#697386}.feed-grid{align-items:start}@media(max-width:900px){.feed-row{grid-template-columns:1fr;gap:8px}}

/* v0.8 two-way Google Calendar + Needs Attention */
.calendar-attention-panel{border-color:#f1c7c7;background:#fffafa}.pending-calendar-row{border-left:3px solid #c23b46}.pending-booking-source{margin-bottom:16px}.compact-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.compact-summary-grid>div{display:grid;gap:3px;padding:10px 12px;border:1px solid #e5e9ef;border-radius:10px;background:#fafbfd}.compact-summary-grid span{font-size:9px;color:#7b8797;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.compact-summary-grid strong{font-size:12px;color:#172033}.pending-resolve-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pending-resolve-form .full{grid-column:1/-1}.pending-new-project-fields{padding:12px;border:1px solid #e3e8ef;border-radius:10px;background:#f8fafc}.drive-status-ready_to_connect{border-color:#bdd8eb;background:#eff8ff;color:#176b96}
@media(max-width:760px){.compact-summary-grid,.pending-resolve-form{grid-template-columns:1fr}.pending-resolve-form .full{grid-column:auto}}

/* v0.8.2 calendar copy/paste */
.calendar-copy-handle {
  margin-left: auto;
  flex: 0 0 auto;
  opacity: .45;
  cursor: copy;
  font-size: 13px;
  line-height: 1;
  padding: 3px 4px;
  border-radius: 5px;
}
.draggable-session:hover .calendar-copy-handle { opacity: .95; background: rgba(255,255,255,.14); }
.calendar-paste-target { outline: 2px dashed rgba(17, 143, 180, .52); outline-offset: -3px; }
.calendar-copy-toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translate(-50%, 12px);
  z-index: 9999;
  padding: 9px 14px;
  border-radius: 9px;
  background: #101f33;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 10px 30px rgba(10, 23, 40, .22);
  opacity: 0;
  pointer-events: none;
  transition: opacity .16s ease, transform .16s ease;
}
.calendar-copy-toast.show { opacity: 1; transform: translate(-50%, 0); }

/* v0.9 Media Intake */
.media-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:4px 0 18px}.media-workspace-head h2{margin:2px 0 4px}.media-project-grid,.media-intake-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:18px;margin-bottom:18px}.media-intake-list{display:flex;flex-direction:column;gap:8px}.media-intake-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #e5e9f0;border-radius:12px;background:#fff;text-decoration:none;color:inherit;transition:.16s ease}.media-intake-row:hover{border-color:#b9c5d7;box-shadow:0 8px 24px rgba(15,23,42,.06)}.media-intake-main{display:flex;flex-direction:column;gap:3px;min-width:0}.media-intake-main span{font-size:12px;color:#6b7280}.media-status-dot{width:10px;height:10px;border-radius:999px;background:#64748b}.status-received{background:#f59e0b}.status-offloading{background:#3b82f6}.status-verified{background:#14b8a6}.status-ready-to-return{background:#8b5cf6}.status-returned{background:#64748b}.status-failed-verification,.status-damaged,.status-missing{background:#ef4444}.status-held{background:#f97316}.media-status-badge{font-size:11px;font-weight:800;letter-spacing:.02em;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#334155;white-space:nowrap}.media-history-table{display:flex;flex-direction:column}.media-history-table>a{display:flex;justify-content:space-between;gap:18px;padding:11px 2px;border-bottom:1px solid #edf0f4;text-decoration:none;color:inherit}.media-history-table>a span{font-size:12px;color:#6b7280}.media-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.asset-card{padding:16px;border:1px solid #e4e9f1;border-radius:14px;background:#fff}.asset-card.is-inactive{opacity:.5}.asset-card h3{margin:12px 0 4px}.asset-card p{margin:0;color:#64748b;font-size:13px}.asset-code{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:9px;background:#f5f7fa}.asset-code span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7c8798}.asset-code strong{font-size:12px}.asset-meta{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.asset-meta span{font-size:11px;padding:4px 7px;border-radius:999px;background:#f1f5f9;color:#475569}.text-button{border:0;background:transparent;padding:0;color:#54657a;font:inherit;font-size:12px;cursor:pointer}.media-asset-popover{position:absolute;right:0;top:calc(100% + 8px);width:min(430px,80vw);padding:16px;background:#fff;border:1px solid #dfe5ee;border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.16);z-index:40}.project-actions-menu[open] .media-asset-popover{display:block}.media-step-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.media-detail-list{margin:0}.media-detail-list>div{display:grid;grid-template-columns:125px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #edf0f4}.media-detail-list dt{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#7c8798}.media-detail-list dd{margin:0;font-size:13px}.offload-list{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.offload-card{padding:14px;border:1px solid #e4e9f1;border-radius:12px}.offload-head{display:flex;justify-content:space-between;gap:12px}.offload-card p{font-size:12px;color:#64748b}.offload-card code{display:block;padding:9px 10px;border-radius:8px;background:#f5f7fa;white-space:normal;word-break:break-all}.future-qr-panel{display:flex;justify-content:space-between;align-items:center;gap:22px}.qr-placeholder{display:grid;place-items:center;width:74px;height:74px;border-radius:13px;background:#101827;color:#fff;font-size:32px}.media-dashboard-row{grid-template-columns:12px minmax(0,1fr) auto}.media-attention-panel{border-left:3px solid #f59e0b}
@media(max-width:1000px){.media-project-grid,.media-intake-detail-grid{grid-template-columns:1fr}.media-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.media-stat-grid,.asset-grid{grid-template-columns:1fr}.media-intake-row{grid-template-columns:10px minmax(0,1fr)}.media-intake-row>.media-status-badge{grid-column:2;justify-self:start}.media-history-table>a{flex-direction:column;gap:4px}}

/* v0.9.1 media asset intake polish */
.media-accessory-fieldset{border:0;padding:0;margin:2px 0 8px}.media-accessory-fieldset legend{font-size:12px;font-weight:700;color:#344054;margin-bottom:8px}.media-accessory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.media-check{display:flex!important;align-items:center;gap:8px;padding:8px 9px;border:1px solid #e4e9f1;border-radius:9px;background:#f8fafc;font-size:12px!important;font-weight:600!important}.media-check input{width:auto!important;margin:0}.asset-accessories{display:flex;flex-direction:column;gap:3px;margin:-2px 0 12px;font-size:11px;color:#64748b}.asset-accessories strong{color:#334155}.media-return-checklist{margin-bottom:18px}.return-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.field-hint{font-weight:400;color:#7c8798}@media(max-width:700px){.media-accessory-grid,.return-grid{grid-template-columns:1fr}}

/* v0.10 media provenance / YoYotta report history */
.offload-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.offload-summary-grid span{display:flex;flex-direction:column;gap:2px;padding:9px 10px;border:1px solid var(--border,#dde3ea);border-radius:10px;background:rgba(248,250,252,.72)}.offload-summary-grid small,.offload-report-row small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#738093}.offload-report-row{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;padding:12px;border-radius:12px;background:#f7f9fc;border:1px solid #e3e8ef}.offload-report-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}.offload-report-row a{font-size:12px}.offload-upload-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.offload-upload-form input[type=file]{max-width:240px;font-size:12px}.media-provenance-table{display:flex;flex-direction:column;border:1px solid #e1e6ed;border-radius:12px;overflow:hidden}.media-provenance-head,.media-provenance-row{display:grid;grid-template-columns:120px minmax(240px,1.8fr) minmax(170px,1fr) minmax(170px,1fr);gap:14px;align-items:center}.media-provenance-head{padding:9px 14px;background:#f4f6f9;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#677487}.media-provenance-row{padding:12px 14px;border-top:1px solid #e7ebf0;color:inherit;text-decoration:none}.media-provenance-row:hover{background:#fafbfd}.media-provenance-row>span{display:flex;flex-direction:column;gap:3px;min-width:0}.media-provenance-row small{font-size:11px;color:#788496;line-height:1.35}.media-provenance-row .report-present{color:#17744b;font-weight:700}.asset-card-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.asset-card-actions form{margin:0}.media-offload-history-panel{margin-top:18px}
@media(max-width:900px){.offload-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offload-report-row{align-items:flex-start;flex-direction:column}.offload-upload-form{justify-content:flex-start}.media-provenance-head{display:none}.media-provenance-row{grid-template-columns:1fr;gap:8px}.media-provenance-row>span{padding-bottom:5px}}


/* v0.11 scan-first media intake */
.scan-panel{max-width:760px;margin:0 auto}.scan-status{font-weight:700;margin-bottom:12px}.scan-viewport{position:relative;overflow:hidden;border-radius:18px;background:#0b1220;aspect-ratio:4/3;max-height:520px}.scan-viewport video{width:100%;height:100%;object-fit:cover;display:block}.scan-frame{position:absolute;left:50%;top:50%;width:min(58%,280px);aspect-ratio:1;transform:translate(-50%,-50%);border:3px solid rgba(255,255,255,.92);border-radius:20px;box-shadow:0 0 0 999px rgba(4,10,20,.22)}.scan-actions{display:flex;justify-content:center;margin-top:14px}.scan-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--muted);font-size:.85rem}.scan-divider:before,.scan-divider:after{content:"";height:1px;flex:1;background:var(--border)}.scan-manual-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.scan-manual-form label{margin:0}.quick-receive-panel{max-width:900px}.receive-primary{min-height:48px;font-size:1rem}.scan-result-panel{border-left:4px solid #06b6d4}.quick-return-form{display:grid;gap:14px;margin-top:10px}.notice-inline{padding:12px 14px;border-radius:12px;background:rgba(245,158,11,.09);color:var(--text)}
@media(max-width:700px){.scan-manual-form{grid-template-columns:1fr}.scan-panel,.quick-receive-panel{padding:16px}.scan-viewport{aspect-ratio:3/4}.project-head-actions{flex-wrap:wrap}.receive-primary{width:100%}}

/* v0.11.2 asset administration */
.media-edit-form { max-width: 980px; }
.warning-card { margin: 18px 0; padding: 16px 18px; border: 1px solid rgba(245, 158, 11, .35); border-radius: 14px; background: rgba(245, 158, 11, .08); }
.warning-card strong { display: block; margin-bottom: 4px; }
.warning-card p { margin: 0 0 12px; }
.qr-attach-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;margin:4px 0 12px;border:1px solid #dfe5ee;border-radius:12px;background:#f8fafc}.qr-attach-card>div{display:flex;flex-direction:column;gap:3px;min-width:0}.qr-attach-card strong{font-size:12px}.qr-attach-card span{font-size:11px;color:#64748b}.qr-attach-card span.is-bound{color:#047857;font-weight:700}.qr-attach-card-wide{grid-column:1/-1}.qr-bind-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(4,10,20,.62);backdrop-filter:blur(4px)}.qr-bind-modal{width:min(680px,96vw);max-height:92vh;overflow:auto;padding:18px;background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.qr-bind-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.qr-bind-head h2{margin:2px 0 4px}.qr-bind-close{border:0;background:#eef2f7;border-radius:999px;width:36px;height:36px;font-size:24px;line-height:1;cursor:pointer}.qr-bind-manual{display:grid;grid-template-columns:1fr auto;gap:10px}.status-good{color:#047857;font-weight:700}.status-warn{color:#b45309;font-weight:700}@media(max-width:700px){.qr-attach-card{align-items:stretch;flex-direction:column}.qr-attach-card .button{width:100%}.qr-bind-manual{grid-template-columns:1fr}}
/* v0.13 admin credentials vault */
.credentials-narrow{max-width:760px}.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.head-actions form{margin:0}.credential-search{margin-bottom:16px}.credential-search input{width:min(520px,100%)}.credential-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.credential-card{background:#fff;border:1px solid #e4e9ef;border-radius:14px;padding:16px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.credential-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.credential-card-head h3{margin:0 0 4px}.credential-card-head a{font-size:.86rem}.credential-field{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #edf1f5;align-items:center}.credential-field>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#7a8594;font-weight:700}.credential-field code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.secret-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.tiny-copy{border:1px solid #dbe2ea;background:#f8fafc;border-radius:7px;padding:5px 8px;font-size:.76rem;cursor:pointer}.tiny-copy:hover{background:#eef3f7}.credential-notes{font-size:.9rem;color:#536170;margin:12px 0 0;white-space:pre-wrap}.credential-meta{font-size:.75rem;color:#8b96a5;margin-top:12px}.stack-form{display:grid;gap:14px}.stack-form label{display:grid;gap:6px}.stack-form textarea{resize:vertical}.danger-zone{margin-top:26px;padding-top:18px;border-top:1px solid #f1d5d5}.alert.danger{background:#fff2f2;color:#9e2b2b;border:1px solid #f2cccc;padding:10px 12px;border-radius:9px;margin-bottom:14px}

/* v0.14 Client Communication Packs */
.client-pack-grid{align-items:start}.client-pack-doc-head{margin-top:10px}.client-pack-documents{display:grid;gap:8px;margin:4px 0 12px}.client-pack-document{display:flex!important;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid #dbe2ea;border-radius:12px;background:#fff;cursor:pointer}.client-pack-document input{width:auto;margin-top:3px}.client-pack-document span{display:grid;gap:2px}.client-pack-document small{color:#697386}.client-pack-history{display:grid;gap:10px}.client-pack-history-card{border:1px solid #e2e8f0;border-radius:13px;padding:13px;background:#fff;display:grid;gap:6px}.client-pack-history-card>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.client-pack-history-card>div span,.client-pack-history-card>span,.client-pack-history-card small{color:#697386;font-size:.85rem}.client-pack-history-card p{margin:0;font-weight:700}.client-pack-history-card ul{margin:2px 0 2px 18px;padding:0}.stack-form button:disabled{opacity:.45;cursor:not-allowed}


/* v0.16 — pre-launch UI lockdown */
:root{--ui-ink:#111827;--ui-muted:#6f7b8f;--ui-line:#e2e7ed;--ui-soft:#f7f9fb;--ui-navy:#101827}
.content{max-width:1680px;padding:34px 38px 48px}
.page-head{margin-bottom:20px}.page-head h1{letter-spacing:-.035em}.page-subtitle{display:none}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.18em;color:#7d899a;margin-bottom:6px}
.sidebar{width:228px;padding:24px 17px;background:#10141a}.content{margin-left:228px}.sidebar nav{gap:3px;margin-top:30px}.sidebar nav a{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;font-size:12px;font-weight:650;color:#cbd2dc}.sidebar nav a:hover{background:#1a2029;color:#fff}.sidebar nav a.active{background:#fff;color:#101827;box-shadow:0 3px 14px rgba(0,0,0,.12)}.nav-icon{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px}.nav-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.nav-icon svg rect,.nav-icon svg circle{fill:none}.sidebar nav a.active .nav-icon{color:#0c8fa5}
.panel{border-color:#e5e9ee;border-radius:15px;box-shadow:0 3px 14px rgba(15,23,42,.04)}.section-head{margin-bottom:11px}.section-head h2,.section-head h3{margin:0}.compact-copy{display:none}.empty.compact-empty{padding:16px 0}.empty.compact-empty p{margin:0;color:#8a94a3;font-size:11px}
.dashboard-head{margin-bottom:14px}.dashboard-hero{border-radius:15px;margin-bottom:12px;padding:17px 19px}.dashboard-hero h2{font-size:19px;letter-spacing:-.02em}.dashboard-hero p:last-child{font-size:10px}.dashboard-metrics{margin:0 0 14px}.metric-card{min-height:85px}.calendar-attention-panel,.reminder-attention-panel{border-left-width:4px}.reminder-attention-panel{border-left-color:#0a91a8;background:linear-gradient(90deg,#f4fbfc 0,#fff 16%)}.calendar-attention-panel{background:linear-gradient(90deg,#fff8f7 0,#fff 16%)}
.quick-task-details{margin-top:14px}.quick-task-details summary{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid #dfe5ec;border-radius:8px;background:#f8fafc;color:#536176;font-size:10px;font-weight:750}.quick-task-details[open] summary{margin-bottom:10px}.quick-task-details-body{padding-top:2px}.quick-task-details .quick-task-grid{margin-top:0}

.projects-page-head{align-items:center}.project-status-strip{display:flex;gap:7px;margin:0 0 12px;overflow-x:auto;padding-bottom:2px}.project-status-stat{display:flex;align-items:center;gap:9px;min-width:max-content;padding:8px 11px;border:1px solid var(--ui-line);border-radius:9px;background:#fff;color:#637083;cursor:pointer}.project-status-stat span{font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.09em}.project-status-stat strong{font-size:15px;color:#172033}.project-status-stat.is-active{border-color:#b8c7d4;background:#172033;color:#fff}.project-status-stat.is-active strong{color:#fff}.projects-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 180px 180px;gap:8px;margin-bottom:18px}.projects-toolbar input,.projects-toolbar select{height:38px;padding:8px 11px;border-radius:9px;font-size:11px}.project-board{display:flex;flex-direction:column;gap:22px}.project-group{margin:0}.project-group-head{display:flex;align-items:flex-end;justify-content:space-between;margin:0 1px 9px}.project-group-head h2{font-size:16px;margin:0}.project-group-head .eyebrow{margin:0 0 3px}.project-group-head>span{font-size:10px;color:#8993a2}.project-premium-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-premium-card{display:flex;flex-direction:column;min-height:235px;padding:16px;border:1px solid #e1e6ec;border-radius:14px;background:#fff;color:#172033;text-decoration:none;box-shadow:0 2px 9px rgba(15,23,42,.035);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.project-premium-card:hover{transform:translateY(-1px);border-color:#c4ceda;box-shadow:0 8px 24px rgba(15,23,42,.07)}.project-premium-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-premium-card h3{margin:13px 0 7px;font-size:16px;letter-spacing:-.02em}.project-client{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#798597;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.status-chip{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef2f6;color:#526074;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.status-chip.status-active{background:#e9f7f2;color:#187755}.status-chip.status-upcoming{background:#edf3fb;color:#376a9b}.status-chip.status-waiting,.status-chip.status-on-hold{background:#fff5df;color:#9a6b13}.status-chip.status-delivered,.status-chip.status-archived{background:#f0eef8;color:#665a8c}.project-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:15px}.project-tags span{padding:4px 6px;border-radius:6px;background:#f5f7fa;color:#657286;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.055em}.project-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding:11px 0;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4}.project-date-grid div{display:flex;flex-direction:column;gap:3px}.project-date-grid span,.project-next-line span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#929cab}.project-date-grid strong{font-size:11px}.project-next-line{display:flex;flex-direction:column;gap:3px;padding:10px 0}.project-next-line strong{font-size:9.5px;color:#3b4758;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card-foot{display:flex;align-items:center;gap:8px;margin-top:auto;color:#8490a0;font-size:8.5px}.project-card-foot span:last-child{margin-left:auto;color:#47586d;font-weight:750}.projects-no-results{padding:50px;text-align:center;color:#7d8998}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.project-workspace-tabs{position:sticky;top:8px;z-index:20;box-shadow:0 5px 18px rgba(15,23,42,.05)}
@media(max-width:1200px){.project-premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.sidebar{width:100%}.content{margin-left:0;padding:20px 16px 36px}.projects-toolbar{grid-template-columns:1fr}.project-premium-grid{grid-template-columns:1fr}.project-status-strip{margin-left:-2px;margin-right:-2px}.project-premium-card{min-height:220px}}

/* v0.16.1 — UI lock fixes */
.heading-with-info{display:flex;align-items:center;gap:7px;min-width:0}.heading-with-info h2{margin:0}.info-button{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;width:18px;height:18px;padding:0;border:1px solid #cfd7e1;border-radius:50%;background:#fff;color:#657286;font-size:10px;font-weight:800;line-height:1;cursor:pointer}.info-button:hover,.info-button.is-open{border-color:#9eabba;color:#172033;background:#f7f9fb}.info-button::after{content:attr(data-info);position:absolute;left:50%;top:calc(100% + 8px);z-index:100;width:280px;max-width:70vw;padding:10px 11px;border:1px solid #dbe1e8;border-radius:9px;background:#172033;color:#fff;box-shadow:0 12px 30px rgba(15,23,42,.18);font-size:10px;font-weight:500;line-height:1.45;text-align:left;text-transform:none;letter-spacing:0;opacity:0;visibility:hidden;transform:translate(-50%,-3px);transition:.12s ease;pointer-events:none}.info-button.is-open::after{opacity:1;visibility:visible;transform:translate(-50%,0)}.asset-card-clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.asset-card-clickable:hover,.asset-card-clickable:focus-visible{border-color:#bdc8d5;box-shadow:0 8px 22px rgba(15,23,42,.065);transform:translateY(-1px);outline:none}.dashboard-reminder-add{margin-top:10px;padding-top:9px;border-top:1px solid #e7ebef}.reminder-attention-panel{margin-bottom:14px}

.sidebar-user {
  margin: 18px 0 10px;
  padding: 12px 14px;
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.sidebar-user-name {
  font-weight: 600;
  color: #fff;
  font-size: 13px;
}

.sidebar-user-meta {
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.35;
  color: rgba(255,255,255,.62);
  overflow-wrap: anywhere;
}

.sidebar-logout {
  display: inline-block;
  margin-top: 8px;
  font-size: 11px;
  color: rgba(255,255,255,.82);
  text-decoration: none;
}

.sidebar-logout:hover {
  color: #fff;
}
