/* Studio OS — Dashboard */
.dashboard{padding:36px 36px 80px;width:100%}

/* Room strip */
.db-rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px}
.db-room{position:relative;display:flex;flex-direction:column;gap:6px;padding:14px 16px 12px 18px;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border);border-radius:var(--radius);text-align:left;cursor:pointer;overflow:hidden;box-shadow:var(--shadow-card);transition:border-color .12s,transform .12s}
.db-room:hover{border-color:var(--rc);transform:translateY(-1px)}
.db-room.dark{background:transparent;border-style:dashed;box-shadow:none}
.db-room.done{opacity:.72}
.db-room-rail{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--rc);box-shadow:0 0 10px var(--rc)}
.db-room.maint{border-style:dashed}
.db-room.dark .db-room-rail{opacity:.35;box-shadow:none}
.db-room-head{display:flex;justify-content:space-between;align-items:baseline}
.db-room-name{font-size:9.5px;letter-spacing:.10em;text-transform:uppercase;color:var(--text-muted);font-weight:600}
.db-state{font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;display:inline-flex;align-items:center;gap:5px}
.db-state-dot{width:7px;height:7px;border-radius:50%}
.db-state-dot.pulse{box-shadow:0 0 6px currentColor;animation:livepip 1.4s ease-in-out infinite}
.db-room-artist{font-size:16px;font-weight:500;letter-spacing:-.015em;color:var(--text-primary);line-height:1.15}
.db-room.dark .db-room-artist{font-family:var(--font-serif);font-style:italic;color:var(--text-muted);font-size:14px}
.db-room-sub{font-size:11px;color:var(--text-muted);font-family:var(--font-serif);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-room-foot{display:flex;align-items:baseline;gap:6px;font-size:9.5px;letter-spacing:.04em;color:var(--text-faint);text-transform:uppercase;margin-top:4px}
.db-sep{opacity:.5}
.db-room-note{margin-left:auto;color:oklch(0.75 0.14 145)}
.db-room-note.late{color:var(--red)}

/* Body */
.db-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:20px;align-items:flex-start}
.db-rail{display:flex;flex-direction:column;gap:16px;min-width:0}
.db-panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:14px 16px 16px;position:relative;overflow:hidden}
.db-panel::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,oklch(0.42 0.012 65/.6),transparent);pointer-events:none}
.db-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.db-panel-kicker{font-size:9.5px;letter-spacing:.10em;text-transform:uppercase;color:var(--text-secondary);display:inline-flex;align-items:center;gap:8px}
.db-pip{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent)}
.db-panel-count{font-size:10px;color:var(--accent);padding:2px 8px;border:1px solid color-mix(in oklab,var(--accent) 35%,var(--border));border-radius:9px}
.db-link{background:none;border:none;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);cursor:pointer}
.db-link:hover{color:var(--accent)}

/* Action queue */
.db-action-list{display:flex;flex-direction:column;gap:6px}
.db-action{display:flex;align-items:center;gap:12px;padding:11px 12px 11px 0;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;overflow:hidden;transition:border-color .12s}
.db-action:hover{border-color:var(--border-strong)}
.db-action-sev{width:3px;align-self:stretch;background:var(--sev);flex-shrink:0}
.db-action-glyph{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;background:var(--surface-3);border:1px solid var(--border);color:var(--sev);font-size:13px;flex-shrink:0}
.db-action-body{flex:1;min-width:0}
.db-action-title{font-size:13px;color:var(--text-primary);letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-action-meta{font-size:9.5px;color:var(--text-faint);letter-spacing:.04em;text-transform:uppercase;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-action-cta{flex-shrink:0;white-space:nowrap;height:28px;padding:0 12px;background:transparent;border:1px solid var(--border-strong);border-radius:5px;color:var(--text-secondary);font-size:11.5px;cursor:pointer;transition:all .12s}
.db-action-cta:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in oklab,var(--accent) 8%,transparent)}

/* Money */
.db-money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--surface-2);border:1px solid var(--border);border-radius:6px;overflow:hidden}
.db-money-cell{padding:10px 12px;border-right:1px solid var(--border)}
.db-money-cell:last-child{border-right:none}
.db-k{font-size:8.5px;letter-spacing:.10em;text-transform:uppercase;color:var(--text-faint);margin-bottom:4px}
.db-v{font-size:17px;font-weight:500;letter-spacing:-.02em;color:var(--text-primary);font-variant-numeric:tabular-nums}
.db-v.ok{color:oklch(0.75 0.14 145)}
.db-v.warn{color:var(--red)}
.db-v.accent{color:var(--accent)}
.db-collect-bar{height:5px;margin:12px 0 10px;background:var(--surface-3);border-radius:3px;overflow:hidden}
.db-collect-bar span{display:block;height:100%;background:linear-gradient(90deg,oklch(0.72 0.14 145),var(--accent));box-shadow:0 0 6px var(--accent)}
.db-money-foot{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.03em;color:var(--text-faint);padding:6px 0;border-top:1px dotted var(--border)}
.db-money-foot strong{color:var(--text-primary);font-weight:600}

.db-empty{font-family:var(--font-serif);font-style:italic;font-size:13px;line-height:1.5;color:var(--text-muted);padding:6px 0}

/* Utilization */
.db-util{display:flex;flex-direction:column;gap:9px}
.db-util-row{display:grid;grid-template-columns:72px 1fr 38px;align-items:center;gap:10px}
.db-util-room{font-size:12px;color:var(--text-secondary)}
.db-util-bar{height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden}
.db-util-bar span{display:block;height:100%;background:var(--rc);box-shadow:0 0 6px color-mix(in oklab,var(--rc) 60%,transparent)}
.db-util-pct{font-size:11px;color:var(--text-primary);text-align:right;font-variant-numeric:tabular-nums}

/* Week */
.db-week{display:flex;flex-direction:column}
.db-week-row{display:flex;align-items:center;gap:10px;padding:8px 0;border:none;border-bottom:1px dotted var(--border);background:none;width:100%;text-align:left;cursor:pointer;font:inherit}
.db-week-row:hover .db-week-artist{color:var(--accent)}
.db-week-row:last-child{border-bottom:none}
.db-week-day{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);width:46px;flex-shrink:0}
.db-week-rail{width:3px;height:18px;border-radius:2px;background:var(--rc);flex-shrink:0}
.db-week-artist{flex:1;min-width:0;font-size:12.5px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-week-room{font-size:9.5px;color:var(--text-faint);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0}
.db-week-hold{font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px dashed color-mix(in oklab,var(--accent) 45%,var(--border));padding:1px 5px;border-radius:3px;flex-shrink:0}

@media (max-width:1200px){.db-body{grid-template-columns:1fr}}
@media (max-width:640px){.dashboard{padding:20px 16px 60px}.db-rooms{grid-template-columns:1fr}}

/* Today across rooms — the bookings Rooms day view, read-only */
.db-timeline{margin-bottom:20px;padding-bottom:14px}
.db-timeline .bk-tl-wrap{--tl-row-h:64px;max-height:none;box-shadow:none}
.db-timeline .bk-tl-track{cursor:default}
.db-timeline .bk-tl-block{cursor:pointer}
.db-timeline .bk-tl-block::after{display:none}
.db-timeline .bk-tl-block .bk-wk-block-artist{font-size:12px}
