:root {
  color-scheme: light;
  --ink: #152b2d;
  --muted: #667879;
  --paper: #f5f1e8;
  --surface: #fffdf8;
  --header-bg: #fffdf8;
  --header-ink: #152b2d;
  --sidebar-bg: #103b43;
  --sidebar-ink: #f3f8f5;
  --menu-bg: #dff5ed;
  --menu-ink: #07594f;
  --line: #d9ddd6;
  --jade: #007b69;
  --jade-dark: #07594f;
  --jade-soft: #dff5ed;
  --coral: #ef755a;
  --status-ready-ink: #075e57;
  --status-ready-bg: #d5f5ed;
  --status-ready-dot: #0d9488;
  --status-sent-ink: #5b21b6;
  --status-sent-bg: #ede9fe;
  --status-sent-dot: #7c3aed;
  --shadow: 0 18px 60px rgba(23, 48, 46, .09);
}
[data-theme="dark"] {
  --ink: #eef5f1;
  --muted: #9eaeaa;
  --paper: #101817;
  --surface: #17211f;
  --header-bg: #121d1a;
  --header-ink: #eef5f1;
  --sidebar-bg: #0b1819;
  --sidebar-ink: #f3f8f5;
  --menu-bg: #173c35;
  --menu-ink: #eef5f1;
  --line: #33433f;
  --jade: #4bc9af;
  --jade-dark: #167e6e;
  --jade-soft: #173c35;
  --coral: #ff8b70;
  --shadow: 0 18px 60px rgba(0,0,0,.28);
  color-scheme: dark;
}
[data-accent="ocean"] { --jade: #2787cf; --jade-dark: #1769aa; --jade-soft: #e3f2fd; }
[data-accent="cobalt"] { --jade: #5475df; --jade-dark: #3156c8; --jade-soft: #e9edff; }
[data-accent="sky"] { --jade: #20a1bd; --jade-dark: #087f9c; --jade-soft: #e0f5f8; }
[data-accent="violet"] { --jade: #8d6bce; --jade-dark: #7253b8; --jade-soft: #eee8fa; }
[data-accent="plum"] { --jade: #a85bad; --jade-dark: #8b3e91; --jade-soft: #f5e7f6; }
[data-accent="magenta"] { --jade: #d15088; --jade-dark: #bd326f; --jade-soft: #fbe5ef; }
[data-accent="amber"] { --jade: #c88218; --jade-dark: #a35f00; --jade-soft: #fff0d5; }
[data-accent="coral"] { --jade: #df6a57; --jade-dark: #c94f3d; --jade-soft: #fee9e5; }
[data-accent="lime"] { --jade: #729b31; --jade-dark: #587c20; --jade-soft: #edf5df; }
[data-accent="navy"] { --jade: #496681; --jade-dark: #29445f; --jade-soft: #e7eef4; }
[data-accent="rose"] { --jade: #ce5a80; --jade-dark: #b53f67; --jade-soft: #fbe6ed; }
[data-accent="graphite"] { --jade: #607478; --jade-dark: #3f5154; --jade-soft: #e8eeee; }
[data-theme="dark"][data-accent="ocean"] { --jade-soft: #17344c; }
[data-theme="dark"][data-accent="cobalt"] { --jade-soft: #222d50; }
[data-theme="dark"][data-accent="sky"] { --jade-soft: #153b43; }
[data-theme="dark"][data-accent="violet"] { --jade-soft: #302747; }
[data-theme="dark"][data-accent="plum"] { --jade-soft: #39253b; }
[data-theme="dark"][data-accent="magenta"] { --jade-soft: #432536; }
[data-theme="dark"][data-accent="amber"] { --jade-soft: #44351e; }
[data-theme="dark"][data-accent="coral"] { --jade-soft: #442925; }
[data-theme="dark"][data-accent="lime"] { --jade-soft: #2c381d; }
[data-theme="dark"][data-accent="navy"] { --jade-soft: #263441; }
[data-theme="dark"][data-accent="rose"] { --jade-soft: #482534; }
[data-theme="dark"][data-accent="graphite"] { --jade-soft: #293537; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; color: var(--ink); background: radial-gradient(circle at 82% 0%, color-mix(in srgb, var(--jade) 8%, transparent), transparent 28rem), var(--paper); font-family: "DM Sans", sans-serif; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.account-email { max-width: 260px; overflow: hidden; color: color-mix(in srgb, var(--header-ink) 64%, var(--header-bg)); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.button-compact { min-height: 34px; padding: 7px 12px; text-decoration: none; }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 42px 20px; }
.login-card { width: min(430px, 100%); display: grid; gap: 15px; padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow); }
.minimal-login-card { width: min(340px, 100%); gap: 22px; padding: 32px 24px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.login-wordmark { margin-bottom: 12px; color: var(--ink); font: 800 clamp(64px, 12vw, 104px)/.82 Manrope, sans-serif; letter-spacing: -.09em; text-align: center; }
.minimal-login-card label { display: block; }
.minimal-login-card input { min-height: 48px; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--ink) 38%, transparent); border-radius: 0; padding: 0 2px; background: transparent; font-size: 16px; }
.minimal-login-card input:focus { border-color: var(--ink); box-shadow: none; }
.minimal-login-submit { min-height: 46px; border: 1px solid var(--ink); border-radius: 0; color: var(--paper); background: var(--ink); font-weight: 700; }
.minimal-login-submit:hover:not(:disabled) { color: var(--ink); background: transparent; }
.minimal-login-submit:disabled { opacity: .45; cursor: not-allowed; }
.minimal-login-recovery { justify-self: center; color: var(--muted); font-size: 12px; text-decoration: none; }
.minimal-login-recovery:hover { color: var(--ink); }
.login-check-card { min-height: 128px; place-items: center; align-content: center; color: var(--muted); }
.login-check-card p { margin: 0; font-size: 13px; font-weight: 700; }
.login-card h1, .docs-shell h1 { margin: 0; font: 800 clamp(26px, 4vw, 38px)/1.05 Manrope, sans-serif; letter-spacing: -.035em; }
.login-card > p:not(.eyebrow):not(.login-error), .docs-lead { margin: 0; color: var(--muted); line-height: 1.55; }
.login-card label { display: grid; gap: 7px; color: var(--ink); font-size: 13px; font-weight: 700; }
.login-card input { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 9px; padding: 0 12px; color: var(--ink); background: var(--surface); outline: 0; }
.login-card input:focus { border-color: var(--jade); box-shadow: 0 0 0 3px color-mix(in srgb, var(--jade) 16%, transparent); }
.login-error { margin: 0; padding: 10px 12px; border-radius: 9px; color: #a33525; background: #fee8e3; font-size: 13px; }
.auth-message { margin: 0; padding: 10px 12px; border-radius: 9px; color: var(--jade-dark); background: var(--jade-soft); font-size: 13px; line-height: 1.45; }
.public-docs-link { justify-self: center; color: var(--jade-dark); font-size: 13px; font-weight: 700; }
.docs-shell { width: min(920px, calc(100% - 32px)); min-height: calc(100vh - 180px); margin: 34px auto; padding: clamp(24px, 5vw, 54px); border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow); }
.docs-lead { max-width: 650px; margin-top: 14px; }
.docs-empty { min-height: 230px; margin-top: 30px; border: 1px dashed var(--line); border-radius: 12px; }
.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; }
.site-header { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 6px clamp(14px, 2vw, 34px); border-bottom: 1px solid var(--line); background: var(--header-bg); box-shadow: 0 5px 22px color-mix(in srgb, var(--jade) 7%, transparent); position: sticky; top: 0; z-index: 10; }
.brand { color: var(--header-ink); text-decoration: none; display: inline-flex; align-items: center; gap: 12px; }
.brand-logo { display: block; width: 148px; max-width: 100%; height: auto; object-fit: contain; }
.brand-logo-black { display: none; }
.brand-mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(145deg, var(--menu-bg), var(--jade)); color: var(--menu-ink); box-shadow: 0 0 0 4px color-mix(in srgb, var(--jade) 20%, transparent); font: 800 14px/1 Manrope; }
.brand-mark img, .avatar-preview img, .discussion-avatar img { width: 100%; height: 100%; object-fit: cover; }
.brand-mark { flex: 0 0 30px; aspect-ratio: 1; overflow: hidden; }
.brand strong, .brand small { display: block; }
.brand strong { font: 800 15px/1.1 Manrope; }
.brand small { margin-top: 4px; color: var(--muted); font-size: 12px; }
.main-nav { display: flex; align-items: center; justify-content: center; gap: 8px; }
.main-nav a, .main-nav span, .main-nav button { border: 0; padding: 9px 13px; border-radius: 999px; color: color-mix(in srgb, var(--header-ink) 60%, var(--header-bg)); background: transparent; text-decoration: none; font-size: 13px; font-weight: 700; }
.main-nav .is-active { color: var(--menu-ink); background: var(--menu-bg); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--jade) 18%, transparent); }
.main-nav button:hover:not(:disabled) { color: var(--header-ink); background: color-mix(in srgb, var(--menu-bg) 62%, transparent); }
.main-nav button:disabled { opacity: .4; cursor: not-allowed; }
.main-nav span { opacity: .55; cursor: default; }
.main-nav .quick-presets { display: flex; align-items: center; gap: 6px; padding: 0 4px; opacity: 1; }
.quick-preset-dot { width: 18px; height: 18px; border: 2px solid var(--header-bg); border-radius: 50%; padding: 0; background: var(--preset-color); box-shadow: 0 0 0 1px color-mix(in srgb, var(--header-ink) 24%, transparent); }
.quick-preset-dot:hover { transform: scale(1.16); }
.quick-view-preset { display: grid; place-items: center; width: 22px; height: 22px; color: var(--menu-ink); background: var(--menu-bg); font: 800 9px/1 Manrope, sans-serif; }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.header-person { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; color: var(--header-ink); }
.header-person strong { font: 800 12px/1.2 Manrope, sans-serif; white-space: nowrap; }
.header-meta { display: flex; align-items: center; gap: 8px; color: color-mix(in srgb, var(--header-ink) 62%, var(--header-bg)); font-size: 13px; }
.header-count { padding-left: 8px; border-left: 1px solid var(--line); white-space: nowrap; }
.header-count strong { color: var(--header-ink); font-family: Manrope, sans-serif; }
.header-count-withdrawn strong { color: var(--coral); }
.site-header .button-secondary { color: var(--menu-ink); background: var(--menu-bg); }
.theme-toggle { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; color: var(--header-ink); background: var(--header-bg); font-size: 15px; }
.theme-toggle:hover { border-color: var(--jade); }
.theme-dark { display: none; }
[data-theme="dark"] .theme-light { display: none; }
[data-theme="dark"] .theme-dark { display: inline; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: #17ad8d; box-shadow: 0 0 0 4px rgba(23,173,141,.13); }
main { width: 100%; margin: 0 auto; padding: 12px clamp(10px, 1.5vw, 24px) 34px; }
.dashboard-shell { width: min(1460px, 100%); margin: 0 auto; padding: clamp(12px, 2vw, 28px); }
.dashboard-hero { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 8px 2px 22px; }
.dashboard-hero-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.dashboard-hero h1 { margin: 5px 0 0; font: 800 clamp(28px, 3vw, 42px)/1.05 Manrope, sans-serif; letter-spacing: -.045em; }
.dashboard-date { margin: 9px 0 0; color: var(--muted); font-size: 15px; font-weight: 700; text-transform: capitalize; }
.dashboard-customizer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; padding: 16px 18px; border: 1px solid color-mix(in srgb, var(--jade) 36%, var(--line)); border-radius: 17px; background: color-mix(in srgb, var(--jade-soft) 58%, var(--surface)); }
.dashboard-customizer[hidden] { display: none; }
.dashboard-customizer h2 { margin: 3px 0 2px; font: 800 17px/1.2 Manrope, sans-serif; }
.dashboard-customizer p { margin: 0; color: var(--muted); font-size: 11px; }
.dashboard-customizer-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.dashboard-customizer-item { display: flex; align-items: center; flex-wrap: wrap; min-width: 0; gap: 3px; padding: 6px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.dashboard-customizer-item > span { min-width: 120px; flex: 1; overflow: hidden; padding: 0 5px; font-size: 10px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-customizer-item button { min-width: 27px; height: 27px; padding: 0 7px; border: 0; border-radius: 7px; color: var(--ink); background: color-mix(in srgb, var(--jade) 8%, var(--surface)); font: 800 10px DM Sans, sans-serif; cursor: pointer; }
.dashboard-customizer-item button:hover { background: var(--jade-soft); }
.dashboard-customizer-item button:disabled { opacity: .35; cursor: default; }
.dashboard-customizer-item.is-hidden { opacity: .72; border-style: dashed; }
.dashboard-widget-add { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 10px 12px; border: 1px dashed var(--jade); border-radius: 11px; background: var(--surface); }
.dashboard-widget-add label { font-size: 11px; font-weight: 800; }
.dashboard-widget-add select, .dashboard-widget-config input { min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: var(--surface); font: inherit; font-size: 11px; }
.dashboard-widget-add select { flex: 1; }
.dashboard-widget-config { display: flex; flex: 1 0 100%; flex-wrap: wrap; gap: 5px; padding-top: 4px; }
.dashboard-widget-config input[type="text"] { flex: 1 1 130px; }
.dashboard-widget-config input[type="url"] { flex: 2 1 220px; }
.dashboard-widget-config span { flex: 1 0 100%; color: #a33525; font-size: 10px; }
.dashboard-insight { position: relative; min-height: 310px; overflow: hidden; }
.dashboard-insight::before { position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--jade), var(--coral)); content: ""; }
.dashboard-insight-range { flex: 0 0 auto; padding: 7px 8px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: var(--surface); font: 800 11px Manrope, sans-serif; }
.dashboard-insight-body { display: grid; gap: 12px; }
.dashboard-insight-lead { display: flex; align-items: baseline; gap: 7px; margin: 0; color: var(--muted); font-size: 11px; }
.dashboard-insight-lead strong { color: var(--jade-dark); font: 800 25px/1 Manrope, sans-serif; }
.dashboard-insight-bars { display: grid; gap: 4px; }
.dashboard-insight-bar { display: grid; grid-template-columns: minmax(95px, 1fr) minmax(55px, 2fr) 32px; align-items: center; gap: 9px; min-height: 32px; padding: 5px 8px; border: 1px solid transparent; border-radius: 8px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.dashboard-insight-bar:hover, .dashboard-insight-bar.is-selected { border-color: color-mix(in srgb, var(--jade) 35%, var(--line)); background: var(--jade-soft); }
.dashboard-insight-label { overflow: hidden; font-size: 11px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-insight-track { height: 8px; overflow: hidden; border-radius: 99px; background: color-mix(in srgb, var(--jade) 10%, var(--surface)); }
.dashboard-insight-track > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--jade), var(--coral)); }
.dashboard-insight-bar strong { font: 800 12px Manrope, sans-serif; text-align: right; font-variant-numeric: tabular-nums; }
.dashboard-insight-detail { overflow: hidden; padding-top: 8px; border-top: 1px solid var(--line); }
.dashboard-insight-detail > p, .dashboard-insight-detail > small { display: block; margin: 0 0 7px; color: var(--muted); font-size: 10px; }
.dashboard-insight-detail .dashboard-release { grid-template-columns: 48px 38px minmax(0, 1fr) auto; border-top: 1px solid var(--line); }
.dashboard-playlist-settings { display: grid; gap: 9px; margin-top: 14px; padding: 17px 18px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); }
.dashboard-playlist-settings h3 { margin: 2px 0 3px; font: 800 17px/1.2 Manrope, sans-serif; }
.dashboard-playlist-settings p { margin: 0; color: var(--muted); font-size: 11px; }
.dashboard-playlist-settings label { font-size: 11px; font-weight: 800; }
.dashboard-playlist-settings-row { display: flex; flex-wrap: wrap; gap: 7px; }
.dashboard-playlist-settings-row input { min-width: 200px; flex: 1; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: var(--surface); font: inherit; font-size: 12px; }
.dashboard-playlist-settings-row input:focus-visible { outline: 2px solid var(--jade); outline-offset: 2px; }
.dashboard-services-list { display: grid; gap: 10px; }
.dashboard-service-row { display: grid; grid-template-columns: minmax(125px, 1fr) auto; align-items: center; gap: 6px 10px; }
.dashboard-service-name { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; }
.dashboard-service-name svg { width: 17px; height: 17px; fill: currentColor; }
.dashboard-service-figures { color: var(--muted); font-size: 11px; font-weight: 800; font-variant-numeric: tabular-nums; }
.dashboard-service-track { grid-column: 1 / -1; height: 6px; overflow: hidden; border-radius: 99px; background: color-mix(in srgb, var(--line) 70%, var(--surface)); }
.dashboard-service-track > span { display: block; height: 100%; border-radius: inherit; background: var(--jade); }
.dashboard-playlist-content iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 11px; background: #111; }
.dashboard-playlist-empty { display: grid; justify-items: start; gap: 11px; min-height: 190px; align-content: center; padding: 18px; border: 1px dashed var(--line); border-radius: 11px; background: color-mix(in srgb, var(--jade-soft) 28%, var(--surface)); }
.dashboard-playlist-empty p { margin: 0; color: var(--muted); font-size: 12px; }
.dashboard-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; align-items: start; }
.dashboard-widget { grid-column: span 4; margin-top: 0 !important; }
.dashboard-widget[data-size="wide"] { grid-column: span 6; }
.dashboard-widget[data-size="full"] { grid-column: 1 / -1; }
.dashboard-widget[hidden] { display: none; }
.dashboard-metrics { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px; }
.dashboard-metrics article { min-height: 92px; display: flex; flex-direction: column-reverse; justify-content: center; gap: 5px; padding: 15px 17px; border: 1px solid color-mix(in srgb, var(--jade) 15%, var(--line)); border-radius: 15px; background: var(--surface); box-shadow: 0 8px 24px color-mix(in srgb, var(--jade) 5%, transparent); }
.dashboard-metrics span { color: var(--muted); font-size: 12px; font-weight: 700; }
.dashboard-metrics strong { font: 800 25px/1 Manrope, sans-serif; }
.dashboard-metric-private, .dashboard-metric-messages { color: var(--jade-dark); background: color-mix(in srgb, var(--jade-soft) 55%, var(--surface)) !important; }
.dashboard-metric-unread { color: #a92e46; background: color-mix(in srgb, #ffe6eb 62%, var(--surface)) !important; }
.dashboard-panel { margin-top: 14px; padding: 18px; border: 1px solid color-mix(in srgb, var(--jade) 15%, var(--line)); border-radius: 17px; background: var(--surface); box-shadow: 0 10px 32px color-mix(in srgb, var(--jade) 6%, transparent); }
.dashboard-panel-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.dashboard-panel-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.dashboard-operational-legend { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 5px 10px; color: var(--muted); font-size: 10px; font-weight: 700; }
.dashboard-operational-legend span { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.material-dot { width: 7px; height: 7px; border-radius: 50%; background: #9aa6aa; }
.material-dot.is-complete { background: #18866f; }
.material-dot.is-review { background: #d58b22; }
.material-dot.is-missing { background: #d84955; }
.material-dot.is-unknown { background: #9aa6aa; }
.dashboard-panel-heading h2 { margin: 4px 0 0; font: 800 20px/1.15 Manrope, sans-serif; letter-spacing: -.025em; }
.dashboard-deliveries-note { margin: -4px 0 14px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.dashboard-deliveries-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin-bottom: 12px; }
.dashboard-deliveries-metrics:empty { display: none; }
.dashboard-deliveries-metrics article { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 64px; padding: 12px 15px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.dashboard-deliveries-metrics .status-badge { align-items: center; gap: 6px; font-size: 10.5px; }
.dashboard-deliveries-metrics strong { font: 800 24px/1 Manrope, sans-serif; }
.dashboard-deliveries-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.dashboard-delivery-item { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 61px; width: 100%; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: var(--surface); text-align: left; cursor: pointer; }
.dashboard-delivery-item:hover, .dashboard-delivery-item:focus-visible { border-color: var(--jade); outline: 2px solid color-mix(in srgb, var(--jade) 25%, transparent); }
.dashboard-delivery-item time { color: var(--jade-dark); font-size: 11px; font-weight: 800; }
.dashboard-delivery-identity { display: grid; min-width: 0; gap: 2px; }
.dashboard-delivery-identity strong, .dashboard-delivery-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-delivery-identity strong { font-size: 12px; }
.dashboard-delivery-identity small { color: var(--muted); font-size: 10px; }
.dashboard-delivery-badge { align-items: center; gap: 5px; padding: 5px 7px; font-size: 9px; font-weight: 800; }
@media (max-width: 760px) { .dashboard-deliveries-metrics { grid-template-columns: 1fr; } .dashboard-deliveries-list { grid-template-columns: 1fr; } .dashboard-delivery-item { grid-template-columns: 46px minmax(0, 1fr); } .dashboard-delivery-badge { grid-column: 2; justify-self: start; } }
.dashboard-weeks { display: grid; grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr); gap: 16px; align-items: stretch; }
.dashboard-calendar-month, .dashboard-calendar-agenda { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: color-mix(in srgb, var(--surface) 95%, var(--jade-soft)); }
.dashboard-calendar-month { padding: 16px; }
.dashboard-calendar-toolbar, .dashboard-calendar-agenda-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dashboard-calendar-toolbar { margin-bottom: 18px; }
.dashboard-calendar-kicker { display: block; color: var(--jade); font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.dashboard-calendar-toolbar h3, .dashboard-calendar-agenda-head h3 { margin: 4px 0 0; font: 800 19px/1.2 Manrope, sans-serif; letter-spacing: -.025em; text-transform: capitalize; }
.dashboard-calendar-controls { display: flex; align-items: center; gap: 5px; }
.dashboard-calendar-nav, .dashboard-calendar-today { height: 32px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: var(--surface); font-weight: 800; cursor: pointer; }
.dashboard-calendar-nav { width: 32px; font-size: 22px; line-height: 1; }
.dashboard-calendar-today { padding: 0 9px; font-size: 11px; }
.dashboard-calendar-nav:hover, .dashboard-calendar-today:hover { border-color: var(--jade); background: var(--jade-soft); }
.dashboard-calendar-nav:disabled, .dashboard-calendar-day:disabled { opacity: .35; cursor: not-allowed; }
.dashboard-calendar-nav:disabled:hover { border-color: var(--line); background: var(--surface); }
.dashboard-calendar-weekdays, .dashboard-calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
.dashboard-calendar-weekdays { margin-bottom: 7px; }
.dashboard-calendar-weekdays span { padding: 0 3px; color: var(--muted); font-size: 10px; font-weight: 800; text-align: center; }
.dashboard-calendar-day { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 2px; min-height: 49px; padding: 8px 7px; border: 1px solid transparent; border-radius: 9px; color: var(--ink); background: color-mix(in srgb, var(--surface) 82%, var(--jade-soft)); text-align: left; cursor: pointer; transition: background .16s, border-color .16s, box-shadow .16s; }
.dashboard-calendar-day strong { font: 800 12px/1 Manrope, sans-serif; }
.dashboard-calendar-day.is-outside-month { opacity: .42; }
.dashboard-calendar-day.has-premiere { border-color: color-mix(in srgb, var(--jade) 23%, var(--line)); background: color-mix(in srgb, var(--jade-soft) 58%, var(--surface)); }
.dashboard-calendar-day.is-selected-week { background: color-mix(in srgb, var(--jade-soft) 80%, var(--surface)); }
.dashboard-calendar-day.is-today { border-color: var(--jade-dark); color: #fff; background: var(--jade-dark); box-shadow: 0 2px 9px color-mix(in srgb, var(--jade-dark) 35%, transparent); }
.dashboard-calendar-day.is-today strong { color: #fff; text-decoration: none; }
.dashboard-calendar-day.is-today .dashboard-calendar-day-count { color: var(--jade-dark); background: #fff; }
.dashboard-calendar-day.is-selected-day { border-color: var(--jade); }
.dashboard-calendar-day.is-linked, .dashboard-calendar-day:hover, .dashboard-calendar-day:focus-visible { z-index: 1; border-color: var(--jade); background: var(--jade-soft); box-shadow: 0 0 0 2px color-mix(in srgb, var(--jade) 20%, transparent); outline: 0; }
.dashboard-calendar-day.is-today:is(.is-linked,:hover,:focus-visible) { border-color: var(--jade-dark); color: #fff; background: var(--jade-dark); box-shadow: 0 0 0 3px color-mix(in srgb, var(--jade-dark) 30%, transparent); }
.dashboard-calendar-day-count { display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 6px; color: #fff; background: var(--jade); font-size: 10px; font-weight: 900; }
.dashboard-calendar-hint { margin: 14px 2px 0; color: var(--muted); font-size: 10px; line-height: 1.4; }
.dashboard-calendar-agenda { display: flex; flex-direction: column; }
.dashboard-calendar-agenda-head { min-height: 72px; padding: 14px 17px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--jade-soft) 42%, var(--surface)); }
.dashboard-calendar-week-count { padding: 6px 9px; border-radius: 999px; color: var(--jade-dark); background: var(--jade-soft); font-size: 10px; font-weight: 800; white-space: nowrap; }
.dashboard-calendar-list { display: grid; align-content: start; max-height: 390px; overflow-y: auto; padding: 5px 9px 9px; scrollbar-color: var(--line) transparent; }
.dashboard-weeks.is-day-focus .dashboard-calendar-list { max-height: none; overflow: visible; }
.dashboard-calendar-item { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: 11px; width: 100%; min-height: 69px; padding: 7px 8px; border: 0; border-bottom: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.dashboard-calendar-item:last-child { border-bottom-color: transparent; }
.dashboard-calendar-item:hover, .dashboard-calendar-item:focus-visible { outline: 0; background: var(--jade-soft); }
.dashboard-calendar-cover { display: grid; place-items: center; width: 54px; height: 54px; overflow: hidden; border-radius: 8px; color: var(--jade-dark); background: color-mix(in srgb, var(--jade) 17%, var(--surface)); font: 900 13px Manrope, sans-serif; }
.dashboard-calendar-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dashboard-calendar-identity { display: grid; min-width: 0; gap: 2px; }
.dashboard-calendar-identity time { color: var(--jade-dark); font-size: 10px; font-weight: 800; text-transform: capitalize; }
.dashboard-calendar-identity strong, .dashboard-calendar-identity > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-calendar-identity strong { font-size: 12px; }
.dashboard-calendar-identity > span { color: var(--muted); font-size: 11px; }
.dashboard-calendar-item .dashboard-operational-summary { min-width: 112px; }
.dashboard-calendar-item .dashboard-status { font-size: 9px; }
.dashboard-calendar-item .dashboard-materials { gap: 4px; }
.dashboard-calendar-item .dashboard-material { width: 21px; height: 21px; }
.dashboard-calendar-empty { display: grid; place-items: center; min-height: 180px; margin: 0; padding: 20px; color: var(--muted); font-size: 12px; line-height: 1.5; text-align: center; }
.dashboard-release { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 7px; width: 100%; padding: 6px; border: 0; border-radius: 8px; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.dashboard-release:focus-visible { outline: 2px solid var(--jade); outline-offset: -2px; }
.dashboard-release-cover { display: grid; place-items: center; width: 38px; height: 38px; overflow: hidden; border-radius: 7px; color: var(--jade-dark); background: color-mix(in srgb, var(--jade) 17%, var(--surface)); font: 900 10px Manrope, sans-serif; }
.dashboard-release-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dashboard-release:hover { background: var(--jade-soft); }
.dashboard-release time { color: var(--jade-dark); font-size: 11px; font-weight: 800; }
.dashboard-release span { min-width: 0; }
.dashboard-release strong, .dashboard-release small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-release strong { font-size: 12px; }
.dashboard-release small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.dashboard-operational-summary { display: grid; grid-template-columns: auto auto; align-items: center; justify-items: end; gap: 3px 5px; min-width: 72px; }
.dashboard-status { display: inline-flex; align-items: center; gap: 4px; max-width: 140px; overflow: hidden; padding: 2px 6px; border-radius: 999px; color: #355568; background: #e8f1f5; font-size: 8px; font-weight: 800; line-height: 1.25; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.dashboard-status .product-status-dot { width: 6px; height: 6px; flex-basis: 6px; }
.dashboard-status.product-status-received { color: #1d4ed8; background: #dbeafe; }
.dashboard-status.product-status-ready { color: var(--status-ready-ink); background: var(--status-ready-bg); }
.dashboard-status.product-status-correction-required,
.dashboard-status.product-status-provider-rejected { color: #b91c1c; background: #fee2e2; }
.dashboard-status.product-status-sent-to-provider { color: var(--status-sent-ink); background: var(--status-sent-bg); }
.dashboard-status.product-status-active { color: #166534; background: #dcfce7; }
.dashboard-status.product-status-withdrawn { color: #fff; background: #b42332; }
.dashboard-status.product-status-withdrawn .product-status-dot { background: #fff; }
.dashboard-status.status-scheduled { color: #08715f; background: #dff4ef; }
.dashboard-status.status-withdrawn { color: #fff; background: #b42332; }
.dashboard-status.status-withdrawn .product-status-dot { background: #fff; }
.dashboard-status.status-withdrawal-scheduled { color: #9a5913; background: #fff0d8; }
.dashboard-warning { display: grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; color: #819094; background: color-mix(in srgb, var(--line) 55%, transparent); font-size: 9px; font-weight: 900; }
.dashboard-warning.has-warning { color: #fff; background: #d84955; }
.dashboard-materials { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-end; gap: 3px; }
.dashboard-material { display: grid; place-items: center; width: 20px; height: 20px; border: 1px solid currentColor; border-radius: 6px; color: #88969b; background: color-mix(in srgb, currentColor 7%, var(--surface)); }
.dashboard-material svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dashboard-material.is-complete { color: #18866f; }
.dashboard-material.is-legacy { color: #18866f; background: #e7f7f0; }
.dashboard-material.is-review { color: #b56d0b; background: #fff5df; }
.dashboard-material.is-missing, .dashboard-material.is-rejected { color: #c93848; background: #ffedf0; }
.dashboard-material.is-unknown { color: #8a969a; border-style: dashed; }
.dashboard-empty { padding: 28px 12px; color: var(--muted); font-size: 12px; text-align: center; }
.dashboard-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.dashboard-list { display: grid; }
.dashboard-list .dashboard-release { grid-template-columns: 48px 38px minmax(0, 1fr) auto; border-top: 1px solid var(--line); border-radius: 0; }
.dashboard-list .dashboard-release:first-child { border-top: 0; }
.dashboard-clips-note { color: var(--muted); font-size: 11px; font-weight: 700; }
.dashboard-clips-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.dashboard-clip { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); box-shadow: 0 4px 18px rgb(0 52 49 / 5%); }
.dashboard-clip-video { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; padding: 0; border: 0; color: #fff; background: #122623; cursor: pointer; }
.dashboard-clip-video img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.dashboard-clip-video:hover img { transform: scale(1.035); }
.dashboard-clip-video:focus-visible { outline: 3px solid var(--jade); outline-offset: -3px; }
.dashboard-clip-play { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid rgb(255 255 255 / 55%); border-radius: 50%; background: linear-gradient(145deg, rgb(29 59 61 / 82%), rgb(8 30 36 / 88%)); box-shadow: inset 0 1px 0 rgb(255 255 255 / 18%), 0 3px 10px rgb(0 0 0 / 28%), 0 0 0 2px rgb(255 255 255 / 10%); transform: translate(-50%, -50%); transition: transform .2s ease, box-shadow .2s ease, background .2s ease; pointer-events: none; }
.dashboard-clip-play::before { position: absolute; inset: 2px; border-radius: inherit; background: radial-gradient(circle at 35% 20%, rgb(255 255 255 / 12%), transparent 60%); content: ""; }
.dashboard-clip-play svg { position: relative; width: 17px; height: 17px; margin-left: 2px; fill: #fff; filter: drop-shadow(0 1px 1px rgb(0 0 0 / 20%)); }
.dashboard-clip-video:hover .dashboard-clip-play, .dashboard-clip-video:focus-visible .dashboard-clip-play, .dashboard-youtube-card:hover .dashboard-clip-play, .dashboard-youtube-card:focus-visible .dashboard-clip-play { background: linear-gradient(145deg, rgb(20 126 110 / 94%), rgb(7 75 68 / 96%)); box-shadow: inset 0 1px 0 rgb(255 255 255 / 22%), 0 4px 12px rgb(0 0 0 / 30%), 0 0 0 3px rgb(255 255 255 / 14%); transform: translate(-50%, -50%) scale(1.04); }
.dashboard-clip-product { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px; }
.dashboard-clip-cover { display: grid; place-items: center; width: 46px; height: 46px; overflow: hidden; border-radius: 7px; color: var(--jade-dark); background: var(--jade-soft); font: 800 8px Manrope, sans-serif; }
.dashboard-clip-cover img { width: 100%; height: 100%; object-fit: cover; }
.dashboard-clip-body { display: flex; flex-direction: column; min-width: 0; gap: 2px; }
.dashboard-clip-body strong { overflow: hidden; color: var(--ink); font: 800 12px/1.25 Manrope, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-clip-body span, .dashboard-clip-body time { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-clip-action { padding: 7px 8px; border: 1px solid var(--line); border-radius: 7px; color: var(--jade-dark); background: var(--surface); font: 800 10px Manrope, sans-serif; white-space: nowrap; cursor: pointer; }
.dashboard-clip-action:hover { background: var(--jade-soft); }
#dashboardClipDialog { width: min(92vw, 980px); max-width: 980px; padding: 0; border: 0; border-radius: 16px; color: var(--ink); background: var(--surface); box-shadow: 0 22px 70px rgb(0 0 0 / 30%); }
#dashboardClipDialog::backdrop { background: rgb(4 22 25 / 78%); }
.dashboard-clip-dialog-card { padding: 10px; }
.dashboard-clip-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 2px 7px; }
.dashboard-clip-dialog-header h2 { overflow: hidden; margin: 0; color: var(--muted); font: 500 11px/1.3 "DM Sans", sans-serif; letter-spacing: .01em; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-clip-dialog-player iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 10px; background: #111827; }
.dashboard-youtube-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.dashboard-youtube-card { position: relative; display: grid; width: 100%; min-width: 0; gap: 7px; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; font: inherit; cursor: pointer; }
.dashboard-youtube-card:focus-visible { outline: 3px solid var(--jade); outline-offset: 3px; }
.dashboard-youtube-thumb { position: relative; display: grid; aspect-ratio: 16 / 9; place-items: center; overflow: hidden; border-radius: 10px; color: white; background: linear-gradient(135deg, #d93636, #1b1520); background-position: center; background-size: cover; }
.dashboard-youtube-card strong { display: -webkit-box; overflow: hidden; font-size: 11px; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.dashboard-youtube-card small { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-youtube-state { grid-column: 1 / -1; min-height: 120px; display: grid; place-items: center; padding: 18px; border: 1px dashed var(--line); border-radius: 12px; color: var(--muted); background: color-mix(in srgb, var(--jade) 3%, var(--surface)); font-size: 11px; line-height: 1.5; text-align: center; }
.dashboard-source-note { margin: 12px 0 0; color: var(--muted); font-size: 9px; }
.hero { padding: clamp(34px, 5vw, 62px) 0 34px; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 48px; align-items: end; }
.eyebrow { margin: 0 0 14px; color: var(--jade); font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.hero h1 { grid-column: 1; margin: 0; max-width: 760px; font: 800 clamp(38px, 5vw, 68px)/.95 Manrope; letter-spacing: -.05em; }
.hero-copy { grid-column: 2; grid-row: 1 / span 2; margin: 0 0 10px; max-width: 420px; color: var(--muted); font-size: 17px; line-height: 1.5; }
.hero-stats { grid-column: 1 / -1; display: flex; gap: 38px; padding-top: 28px; }
.hero-stats div { display: flex; align-items: baseline; gap: 9px; }
.hero-stats strong { font: 800 28px/1 Manrope; }
.hero-stats span { color: var(--muted); font-size: 13px; }
.catalog-shell { position: relative; overflow: hidden; background: var(--surface); border: 1px solid color-mix(in srgb, var(--jade) 18%, var(--line)); border-radius: 16px; box-shadow: 0 16px 45px color-mix(in srgb, var(--jade) 9%, transparent); }
.catalog-shell::before { content: ""; position: absolute; inset: 0 0 auto; z-index: 2; height: 4px; background: linear-gradient(90deg, var(--jade-dark), var(--jade), var(--coral)); }
.catalog-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 54px; padding: 11px 14px 7px; background: linear-gradient(100deg, var(--jade-soft), color-mix(in srgb, var(--surface) 96%, transparent) 42%); }
.catalog-heading h1 { display: flex; align-items: center; gap: 9px; margin: 0; font: 800 20px/1 Manrope; letter-spacing: -.025em; }
.catalog-heading h1::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--jade); box-shadow: 0 0 0 5px color-mix(in srgb, var(--jade) 13%, transparent); }
.labels-visibility-toggle { flex: 0 0 auto; min-height: 30px; padding: 4px 10px; border: 1px solid var(--line); border-radius: 999px; color: var(--jade-dark); background: var(--surface); font-size: 11px; font-weight: 750; white-space: nowrap; }
.labels-visibility-toggle[aria-pressed="false"] { color: var(--muted); }
.catalog-shell[data-labels-visible="false"] [data-column="marker"] { display: none !important; }
.catalog-heading-tools { min-width: 0; display: grid; grid-template-columns: minmax(260px, 1fr) minmax(220px, 310px) auto; align-items: center; gap: 8px; flex: 1; }
.catalog-search { min-width: 220px; }
.catalog-sort { min-width: 220px; }
.catalog-actions { display: flex; align-items: center; gap: 8px; }
.dialog-heading h2 { margin: 0; font: 800 clamp(28px, 3vw, 42px)/1.05 Manrope; letter-spacing: -.035em; }
.button { border: 0; border-radius: 999px; padding: 9px 14px; font-size: 13px; font-weight: 700; transition: transform .15s ease, opacity .15s ease, background .15s ease; }
.button:not(:disabled):hover { transform: translateY(-1px); }
.button:disabled { opacity: .42; cursor: not-allowed; }
.button-primary { color: white; background: linear-gradient(135deg, var(--jade-dark), var(--jade)); box-shadow: 0 5px 15px color-mix(in srgb, var(--jade) 20%, transparent); }
.button-secondary { color: var(--ink); background: color-mix(in srgb, var(--paper) 75%, var(--surface)); }
.toolbar { display: grid; gap: 8px; padding: 10px 14px 8px; }
.filter-toolbar { grid-template-columns: repeat(4, minmax(160px, 1fr)); }
.filter-toolbar label { display: grid; gap: 4px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.filter-toolbar select { min-width: 0; min-height: 36px; border: 1px solid var(--line); border-radius: 9px; padding: 0 9px; color: var(--ink); background: var(--surface); font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.search-box, .sort-control { min-height: 38px; border: 1px solid color-mix(in srgb, var(--jade) 14%, var(--line)); border-radius: 10px; background: color-mix(in srgb, var(--surface) 96%, var(--jade-soft)); transition: border-color .15s ease, box-shadow .15s ease; }
.search-box:focus-within, .sort-control:focus-within { border-color: var(--jade); box-shadow: 0 0 0 3px color-mix(in srgb, var(--jade) 13%, transparent); }
.search-box { display: flex; align-items: center; gap: 11px; padding: 0 15px; }
.search-box svg { width: 19px; fill: none; stroke: var(--muted); stroke-width: 1.8; }
.search-box input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); }
.sort-control { display: flex; align-items: center; padding-left: 12px; color: var(--muted); font-size: 12px; }
.sort-control select { flex: 1; min-width: 0; border: 0; outline: 0; padding: 0 14px; color: var(--ink); background: transparent; font-weight: 600; }
.date-filters { display: flex; align-items: center; gap: 6px; padding: 0 14px 8px; }
.date-filter { min-height: 30px; border: 1px solid var(--line); border-radius: 999px; padding: 4px 11px; color: var(--muted); background: var(--surface); font-size: 12px; font-weight: 700; }
.date-filter strong { display: inline-grid; min-width: 20px; margin-left: 4px; padding: 2px 5px; border-radius: 999px; background: color-mix(in srgb, var(--paper) 80%, transparent); color: var(--ink); font-size: 10px; }
.date-filter.is-active { border-color: color-mix(in srgb, var(--jade) 50%, var(--line)); color: var(--jade-dark); background: var(--jade-soft); box-shadow: 0 4px 12px color-mix(in srgb, var(--jade) 13%, transparent); }
.date-label-mobile { display: none; }
.selection-bar { min-height: 36px; padding: 0 14px; display: flex; align-items: center; gap: 14px; border-top: 1px solid color-mix(in srgb, var(--jade) 18%, var(--line)); border-bottom: 1px solid color-mix(in srgb, var(--jade) 12%, var(--line)); background: linear-gradient(90deg, color-mix(in srgb, var(--jade) 9%, var(--surface)), var(--surface)); font-size: 12px; color: var(--muted); }
.check-label { display: flex; align-items: center; gap: 8px; color: var(--ink); font-weight: 600; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--jade); width: 15px; height: 15px; }
.text-button { margin-left: auto; border: 0; color: var(--jade-dark); background: none; font-weight: 700; }
.table-scrollbar { height: 16px; margin: 0 0 2px; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; scrollbar-color: var(--jade) var(--line); }
.table-scrollbar[hidden] { display: none; }
.table-scrollbar:focus-visible { outline: 2px solid var(--jade); outline-offset: 2px; }
.table-scrollbar > div { height: 1px; }
.table-wrap { position: relative; min-height: 330px; max-height: max(340px, calc(100dvh - 265px)); overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.table-wrap thead th { position: sticky; top: 0; z-index: 4; box-shadow: 0 1px 0 var(--line); }
table { width: 100%; border-collapse: collapse; table-layout: fixed; min-width: 1920px; }
th { height: 36px; padding: 7px 9px; color: color-mix(in srgb, var(--ink) 72%, var(--jade-dark)); background: linear-gradient(180deg, color-mix(in srgb, var(--jade) 10%, var(--surface)), color-mix(in srgb, var(--paper) 62%, var(--surface))); border-bottom: 1px solid color-mix(in srgb, var(--jade) 22%, var(--line)); text-align: left; font-size: 10px; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; white-space: nowrap; }
th button { border: 0; padding: 0; color: inherit; background: none; font: inherit; letter-spacing: inherit; text-transform: inherit; }
th button span { margin-left: 5px; opacity: .5; }
td { height: 50px; padding: 5px 9px; border-bottom: 1px solid color-mix(in srgb, var(--jade) 7%, var(--line)); font-size: 12.5px; vertical-align: middle; }
tbody tr { transition: background .12s ease; }
tbody tr.product-row { height: 48px; max-height: 48px; }
tbody tr.product-row td { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
tbody tr.product-row:nth-of-type(even) { background: color-mix(in srgb, var(--jade) 2.5%, transparent); }
tbody tr:hover { background: color-mix(in srgb, var(--jade) 8%, transparent); }
tbody tr.is-selected { background: color-mix(in srgb, var(--jade) 14%, transparent); box-shadow: inset 4px 0 var(--jade); }
tbody tr.product-row.is-today { background: color-mix(in srgb, #efb441 14%, var(--surface)); box-shadow: inset 4px 0 #d99916; }
tbody tr.product-row.is-today:nth-of-type(even) { background: color-mix(in srgb, #efb441 22%, var(--surface)); }
tbody tr.product-row.is-today:hover { background: color-mix(in srgb, #efb441 28%, var(--surface)); }
tbody tr.product-row.is-today.is-selected { background: color-mix(in srgb, var(--jade) 14%, #fff0c8); }
tbody tr.product-row.has-personal-marker { background: color-mix(in srgb, var(--personal-marker) 12%, var(--surface)); box-shadow: inset 5px 0 var(--personal-marker); }
tbody tr.product-row.has-personal-marker:hover { background: color-mix(in srgb, var(--personal-marker) 20%, var(--surface)); }
tbody tr.product-row.is-priority { outline: 1px solid color-mix(in srgb, #d49b18 48%, transparent); outline-offset: -1px; }
.check-cell { width: 38px; text-align: center; padding-left: 5px; padding-right: 2px; }
.expand-cell { width: 34px; padding-left: 2px; padding-right: 4px; text-align: center; }
.artwork-cell { width: 42px; padding: 4px 3px; text-align: center; }
.product-cell { width: 250px; display: table-cell; }
.product-cell .artwork-frame { margin-right: 8px; }
.product-identity { display: inline-flex; max-width: calc(100% - 52px); flex-direction: column; vertical-align: middle; }
.product-identity strong, .product-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-identity strong { color: var(--ink); font-size: 12.5px; }
.product-identity small { margin-top: 2px; color: var(--muted); font-size: 10.5px; }
.mobile-product-summary { display: none; }
.artwork-frame { display: inline-grid; place-items: center; width: 34px; height: 34px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--jade) 14%, var(--line)); border-radius: 6px; color: var(--muted); background: color-mix(in srgb, var(--paper) 70%, var(--surface)); vertical-align: middle; }
.artwork-frame svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.artwork-frame img { width: 100%; height: 100%; object-fit: cover; }
.expand-button { display: grid; place-items: center; width: 24px; height: 24px; border: 0; border-radius: 6px; color: var(--jade); background: transparent; font-size: 17px; line-height: 1; }
.expand-button span { display: block; transform: translateY(-2px) rotate(-90deg); transition: transform .26s cubic-bezier(.22, 1, .36, 1); }
.expand-button[aria-expanded="true"] span { transform: translateY(-2px) rotate(0); }
.expand-button:hover { border-color: var(--jade); background: var(--jade-soft); }
.expand-button.is-loading span { animation: spin .7s linear infinite; }
.artist-cell { width: 12%; color: var(--ink); font-weight: 750; }
.title-cell { width: 16%; }
.cell-main, .cell-meta { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cell-main { font-weight: 600; }
.cell-meta { margin-top: 2px; color: var(--muted); font-size: 10.5px; line-height: 1.05; }
.track-count-cell { width: 62px; padding-right: 14px; text-align: center; }
.upc { width: 138px; padding-left: 16px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11.5px; letter-spacing: .01em; }
.explicit-cell { width: 42px; text-align: center; }
th[data-column="metadata_language"], td[data-column="metadata_language"] { width: 132px; }
th[data-column="included_territories"], td[data-column="included_territories"] { width: 110px; }
th[data-column="copyright_line"], td[data-column="copyright_line"],
th[data-column="phonographic_line"], td[data-column="phonographic_line"] { width: 158px; }
.release-type-cell, th[data-column="release_type"] { width: 104px; }
.product-row .explicit-cell { overflow: visible; text-overflow: clip; }
.explicit-badge { display: inline-grid; place-items: center; width: 18px; height: 18px; border: 1.5px solid currentColor; border-radius: 3px; color: var(--ink); font: 800 10px/1 Arial, sans-serif; }
.date, .secondary { color: var(--muted); }
.date, th[data-column="digital_release_date"] { width: 176px; }
.date .cell-main { color: var(--ink); font-weight: 500; }
.date .cell-meta { color: var(--jade-dark); font-weight: 800; }
.date-meta { display: flex; align-items: baseline; gap: 7px; }
.original-date-inline { color: var(--muted); font-size: 9px; font-weight: 600; letter-spacing: .01em; }
.date-meta > span + .original-date-inline::before { content: "·"; margin-right: 7px; color: color-mix(in srgb, var(--muted) 60%, transparent); }
.status-cell { width: 122px; }
.days-cell { width: 54px; text-align: center; }
.days-cell span { display: inline-grid; min-width: 24px; height: 24px; place-items: center; padding: 0 5px; border-radius: 6px; color: #4e6b28; background: #edf7d9; font-size: 10px; font-weight: 800; }
.indicator-cell { width: 108px; overflow: visible !important; text-overflow: clip !important; }
.indicator-group { display: inline-flex; align-items: center; gap: 3px; }
.mini-indicator { display: inline-grid; min-width: 20px; height: 20px; place-items: center; border-radius: 5px; color: color-mix(in srgb, var(--muted) 68%, transparent); background: color-mix(in srgb, var(--line) 48%, var(--surface)); font-size: 8px; font-weight: 850; }
.mini-indicator.is-active { color: #fff; background: var(--jade); }
.mini-indicator.is-pending { color: #805f24; background: #f2e7cf; }
.original-date-cell { width: 130px; }
.marker-cell { width: 270px; text-align: left; overflow: visible !important; text-overflow: clip !important; }
.marker-controls { display: flex; align-items: center; gap: 5px; min-width: 0; }
.label-chip-list { display: inline-flex; flex: 1 1 auto; align-items: center; gap: 4px; min-width: 0; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; scrollbar-color: var(--line) transparent; }
.product-label-chip { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 4px; max-width: 190px; height: 27px; padding: 0 5px 0 8px; border: 1px solid color-mix(in srgb, var(--label-color) 62%, var(--line)); border-left: 6px solid var(--label-color); border-radius: 7px; color: var(--ink); background: color-mix(in srgb, var(--label-color) 10%, var(--surface)); font-size: 10px; font-weight: 750; white-space: nowrap; }
.product-label-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.product-label-remove { display: inline-grid; flex: 0 0 18px; width: 18px; height: 18px; place-items: center; padding: 0; border: 0; border-radius: 4px; color: var(--ink); background: color-mix(in srgb, var(--label-color) 19%, var(--surface)); font-size: 15px; font-weight: 700; line-height: 1; cursor: pointer; }
.product-label-remove:hover { color: #fff; background: #b42332; }
.product-label-remove:focus-visible { outline: 2px solid var(--jade-dark); outline-offset: 1px; }
.product-label-remove:disabled { opacity: .5; cursor: wait; }
.marker-picker { position: relative; display: inline-grid; flex: 0 0 29px; width: 29px; height: 28px; place-items: center; border: 1px solid var(--line); border-radius: 7px; color: var(--jade-dark); background: var(--surface); }
.marker-picker:hover { border-color: var(--jade); background: var(--jade-soft); }
.marker-picker:focus-within { outline: 2px solid color-mix(in srgb, var(--jade) 45%, transparent); outline-offset: 1px; }
.marker-picker.is-disabled { opacity: .45; }
.marker-picker-icon { pointer-events: none; font-size: 19px; font-weight: 600; line-height: 1; }
.marker-select { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; opacity: 0; cursor: pointer; }
.marker-select:disabled { cursor: default; }
.priority-button { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); background: var(--surface); font-size: 16px; line-height: 1; }
.priority-button.is-priority { border-color: #d49b18; color: #8a5a00; background: #fff0bf; box-shadow: 0 0 0 2px color-mix(in srgb, #d49b18 18%, transparent); }
.priority-button:disabled { opacity: .48; cursor: default; }
.label-card { width: min(520px, calc(100vw - 28px)); }
.label-field { display: grid; gap: 6px; color: var(--ink); font-size: 12px; font-weight: 750; }
.label-field input[type="text"], .label-field select { min-height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: var(--surface); }
.label-field input[type="color"] { width: 72px; height: 38px; padding: 3px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.label-recipients { max-height: 190px; overflow: auto; }
.label-recipients > div { display: grid; gap: 7px; }
.label-recipients label { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.status-badge { display: inline-flex; max-width: 100%; padding: 4px 8px; border-radius: 999px; font-size: 10.5px; font-weight: 700; line-height: 1; white-space: nowrap; }
.status-scheduled { color: #07594f; background: #dff5ed; box-shadow: inset 0 0 0 1px rgba(0,123,105,.16); }
.status-released { color: #35566f; background: #e8f0f5; }
.status-withdrawn { color: #fff; background: #b42332; }
.status-withdrawal-scheduled { color: #8a5b00; background: #fff1c9; }
.product-status-received, .product-status-validation-in-progress,
.product-status-corrected-materials-received, .product-status-materials-complete,
.product-status-identifiers-pending, .product-status-review, .product-status-draft { color: #1d4ed8; background: #dbeafe; }
.product-status-correction-required, .product-status-waiting-for-corrections,
.product-status-provider-rejected, .product-status-blocked { color: #b91c1c; background: #fee2e2; }
.product-status-ready-for-package, .product-status-package-generated,
.product-status-ready { color: var(--status-ready-ink); background: var(--status-ready-bg); }
.product-status-sent-to-provider, .product-status-provider-accepted { color: var(--status-sent-ink); background: var(--status-sent-bg); }
.product-status-active, .product-status-completed { color: #166534; background: #dcfce7; }
.product-status-cancelled, .product-status-archived { color: #475569; background: #e2e8f0; }
.product-preview-button { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: var(--surface); }
.product-preview-button:hover, .product-preview-button:focus-visible { color: var(--jade); border-color: var(--jade); background: var(--jade-soft); }
.product-preview-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.product-row .product-cell { border-left: 3px solid var(--status-color, transparent); }
.product-row:is(.status-key-received,.status-key-validation-in-progress,.status-key-corrected-materials-received,.status-key-materials-complete,.status-key-identifiers-pending,.status-key-draft,.status-key-review) { --status-color: #3b82f6; }
.product-row:is(.status-key-correction-required,.status-key-waiting-for-corrections,.status-key-provider-rejected,.status-key-blocked) { --status-color: #dc2626; }
.product-row:is(.status-key-ready-for-package,.status-key-package-generated,.status-key-ready) { --status-color: var(--status-ready-dot); }
.product-row:is(.status-key-sent-to-provider,.status-key-provider-accepted) { --status-color: var(--status-sent-dot); }
.product-row:is(.status-key-active,.status-key-completed) { --status-color: #16a34a; }
.product-row:is(.status-key-cancelled,.status-key-archived) { --status-color: #8d9695; }
.product-row.status-key-withdrawn { --status-color: #b42332; }
.product-status-dot-withdrawn { background: #b42332; }
.product-status-withdrawn, .product-preview-status.status-key-withdrawn {
  color: #fff;
  background: #b42332;
}
.product-row.is-withdrawn,
.product-row.is-withdrawn:nth-of-type(even),
.product-row.is-withdrawn.has-personal-marker {
  background: color-mix(in srgb, var(--muted) 9%, var(--surface));
  box-shadow: none;
  color: var(--muted);
}
.product-row.is-withdrawn .artwork-frame img { filter: grayscale(1); opacity: .68; }
.status-cell .status-badge { gap: 6px; padding: 5px 9px; color: var(--ink); background: color-mix(in srgb, var(--muted) 9%, var(--surface)); font-weight: 600; }
.status-cell :is(.product-status-received,.product-status-validation-in-progress,.product-status-corrected-materials-received,.product-status-materials-complete,.product-status-identifiers-pending,.product-status-review,.product-status-draft) { color: #1d4ed8; background: #dbeafe; }
.status-cell :is(.product-status-correction-required,.product-status-waiting-for-corrections,.product-status-provider-rejected,.product-status-blocked) { color: #b91c1c; background: #fee2e2; }
.status-cell :is(.product-status-ready-for-package,.product-status-package-generated,.product-status-ready) { color: var(--status-ready-ink); background: var(--status-ready-bg); }
.status-cell :is(.product-status-sent-to-provider,.product-status-provider-accepted) { color: var(--status-sent-ink); background: var(--status-sent-bg); }
.status-cell :is(.product-status-active,.product-status-completed) { color: #166534; background: #dcfce7; }
.status-cell .product-status-withdrawn { color: #fff; background: #b42332; }
.product-status-dot { display: inline-block; width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #8d9695; }
.product-status-dot-received, .product-status-dot-validation-in-progress,
.product-status-dot-corrected-materials-received, .product-status-dot-materials-complete,
.product-status-dot-identifiers-pending, .product-status-dot-draft, .product-status-dot-review { background: #3b82f6; }
.product-status-dot-correction-required, .product-status-dot-waiting-for-corrections,
.product-status-dot-provider-rejected, .product-status-dot-blocked { background: #dc2626; }
.product-status-dot-ready-for-package, .product-status-dot-package-generated,
.product-status-dot-ready { background: var(--status-ready-dot); }
.product-status-dot-sent-to-provider, .product-status-dot-provider-accepted { background: var(--status-sent-dot); }
.product-status-dot-active, .product-status-dot-completed { background: #16a34a; }
.status-cell .product-status-withdrawn .product-status-dot,
.product-preview-status.status-key-withdrawn .product-status-dot { background: #fff; }
html.product-preview-open { overflow: hidden; }
#productPreviewDialog { position: fixed; inset: 0 0 0 auto; width: min(640px, 100%); max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-gutter: stable; scrollbar-width: thin; border-radius: 20px 0 0 20px; }
.product-preview-card { min-height: 100%; padding: 18px 22px 24px; }
.product-preview-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.product-preview-header h2 { margin: 3px 0; font: 800 24px/1.12 Manrope, sans-serif; }
.product-preview-header p:last-child { margin: 0; color: var(--muted); }
.product-preview-body { display: grid; gap: 13px; padding-top: 13px; }
.product-preview-rejection { display: grid; gap: 8px; padding: 14px 16px; border: 1px solid #dc7676; border-left: 4px solid #b42332; border-radius: 10px; color: #7f1d1d; background: #fff0f0; font-size: 12px; line-height: 1.5; }
.product-preview-rejection > strong { font: 800 14px/1.3 Manrope, sans-serif; }
.product-preview-rejection p { margin: 0; }
.product-preview-rejection ul { display: grid; gap: 4px; margin: 0; padding-left: 19px; }
.product-preview-rejection li { overflow-wrap: anywhere; }
.product-preview-hero { display: grid; grid-template-columns: 132px 1fr; align-items: start; gap: 12px; }
.product-preview-cover { display: grid; place-items: center; width: 132px; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); background: var(--paper); font-size: 12px; }
.product-preview-cover img { width: 100%; height: 100%; object-fit: cover; }
.product-preview-hero-facts { display: flex; flex-wrap: wrap; align-content: start; align-items: center; gap: 7px; min-width: 0; }
.product-preview-status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 999px; color: var(--ink); background: color-mix(in srgb, var(--muted) 9%, var(--surface)); font-size: 11px; font-weight: 700; }
.product-preview-status:is(.status-key-received,.status-key-validation-in-progress,.status-key-corrected-materials-received,.status-key-materials-complete,.status-key-identifiers-pending,.status-key-draft,.status-key-review) { color: #1d4ed8; background: #dbeafe; }
.product-preview-status:is(.status-key-ready-for-package,.status-key-package-generated,.status-key-ready) { color: var(--status-ready-ink); background: var(--status-ready-bg); }
.product-preview-status:is(.status-key-sent-to-provider,.status-key-provider-accepted) { color: var(--status-sent-ink); background: var(--status-sent-bg); }
.product-preview-status:is(.status-key-active,.status-key-completed) { color: #166534; background: #dcfce7; }
.product-preview-status.status-key-correction-required,
.product-preview-status.status-key-waiting-for-corrections,
.product-preview-status.status-key-provider-rejected,
.product-preview-status.status-key-blocked { color: #b91c1c; background: #fee2e2; }
.product-preview-scope, .product-preview-materials { display: flex; flex-wrap: wrap; gap: 4px; }
.product-preview-scope .scope-flag { width: 31px; height: 18px; padding: 0; border: 0; border-radius: 4px; font-size: 7px; }
.product-preview-scope .scope-flag.is-video { width: auto; min-width: 36px; padding: 0 4px; }
.product-preview-materials .material-indicator { width: 20px; height: 20px; border-radius: 5px; }
.product-preview-materials .material-indicator svg { width: 13px; height: 13px; }
.product-preview-facts, .product-preview-credits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 16px; }
.product-preview-fact { display: grid; align-content: start; gap: 3px; min-width: 0; }
.product-preview-fact small { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.product-preview-fact span { overflow-wrap: anywhere; font-size: 13px; }
.product-preview-identifier { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px; min-width: 0; vertical-align: middle; }
.product-preview-copy-identifier { display: inline-grid; flex: 0 0 24px; width: 24px; height: 24px; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 6px; color: var(--jade-dark); background: var(--surface); vertical-align: middle; }
.product-preview-copy-identifier svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.product-preview-copy-identifier:hover, .product-preview-copy-identifier.is-copied { border-color: var(--jade); background: var(--jade-soft); }
.product-preview-copy-identifier:focus-visible { outline: 2px solid var(--jade-dark); outline-offset: 2px; }
.product-preview-copy-identifier.is-copied svg { display: none; }
.product-preview-copy-identifier.is-copied::after { content: "✓"; font-size: 15px; font-weight: 800; }
.product-preview-video-delivery { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
.product-preview-video-delivery label { flex-basis: 100%; font-size: 12px; font-weight: 800; }
.product-preview-video-delivery select { flex: 1 1 190px; min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); background: var(--surface); }
.product-preview-video-delivery input { flex: 1 1 230px; min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); background: var(--surface); }
.product-preview-video-delivery button { padding: 8px 11px; border: 0; border-radius: 7px; color: white; background: var(--jade-dark); font-weight: 700; cursor: pointer; }
.product-preview-video-delivery button:disabled { opacity: .5; cursor: not-allowed; }
.product-preview-video-delivery span { color: var(--jade-dark); font-size: 11px; }
.product-preview-video-delivery small { flex-basis: 100%; color: var(--muted); font-size: 11px; line-height: 1.4; }
.product-preview-video { display: grid; gap: 10px; }
.product-preview-video-link { color: var(--muted); font-size: 12px; line-height: 1.45; }
.product-preview-video-link > a { display: inline-block; margin-bottom: 8px; color: var(--jade-dark); font-weight: 700; }
.product-preview-section-title { margin: 0; padding: 8px 10px; border-left: 3px solid var(--jade); border-radius: 4px; background: var(--jade-soft); font: 800 12px/1.3 Manrope, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.product-preview-track-list { display: grid; gap: 12px; }
.product-preview-track { display: grid; gap: 8px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; }
.product-preview-track-heading { display: flex; justify-content: space-between; gap: 12px; }
.product-preview-track-heading strong { font-size: 13px; }
.product-preview-track-heading span, .product-preview-track > small { color: var(--muted); font-size: 11px; }
.product-preview-audio-player { display: grid; gap: 10px; min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 12px; background: var(--jade-soft); }
.product-preview-audio-player audio { display: none; }
.product-preview-waveform-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.product-preview-audio-toggle { display: grid; flex: 0 0 30px; width: 30px; height: 30px; place-items: center; border: 0; border-radius: 50%; color: white; background: var(--jade-dark); font: 700 12px/1 Manrope, sans-serif; cursor: pointer; }
.product-preview-audio-toggle svg { display: block; width: 18px; height: 18px; fill: currentColor; }
.product-preview-audio-toggle:focus-visible, .product-preview-audio-seek:focus-visible { outline: 2px solid var(--jade-dark); outline-offset: 2px; }
.product-preview-waveform-stop, .product-preview-waveform-start { min-height: 30px; padding: 5px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--jade-dark); background: var(--surface); font: 700 11px/1.2 Manrope, sans-serif; cursor: pointer; }
.product-preview-waveform-start { margin-left: auto; border-color: var(--jade); background: #e9f8e7; }
.product-preview-waveform-start:disabled { opacity: .55; cursor: default; }
.product-preview-waveform { position: relative; height: 96px; overflow: hidden; border: 1px solid #bfd7ce; border-radius: 9px; background: linear-gradient(180deg, #f8fcf9 0%, #edf7f1 50%, #f8fcf9 100%); }
.product-preview-waveform:focus-within { outline: 2px solid var(--jade-dark); outline-offset: 2px; }
.product-preview-waveform-canvas { display: block; width: 100%; height: 100%; }
.product-preview-waveform-seek { position: absolute; z-index: 4; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: crosshair; }
.product-preview-waveform-seek:disabled { cursor: default; opacity: 0; }
.product-preview-waveform-marker, .product-preview-waveform-playhead { position: absolute; z-index: 2; top: 0; bottom: 0; width: 2px; pointer-events: none; }
.product-preview-waveform-marker { z-index: 3; border-left: 2px dashed #cc8510; }
.product-preview-waveform-marker::before { position: absolute; top: 5px; left: 4px; padding: 3px 5px; border: 1px solid #e8bc59; border-radius: 4px; color: #573800; background: #fff0bf; content: "START"; font: 800 9px/1 Manrope, sans-serif; }
.product-preview-waveform-marker.is-near-end::before { left: -4px; transform: translateX(-100%); }
.product-preview-waveform-marker[hidden] { display: none; }
.product-preview-waveform-playhead { left: 0; background: #103b43; }
.product-preview-waveform-timeline { display: flex; justify-content: space-between; padding: 0 2px; color: var(--muted); font: 700 10px/1.1 ui-monospace, SFMono-Regular, Menlo, monospace; font-variant-numeric: tabular-nums; }
.product-preview-waveform-timeline span { min-width: 32px; text-align: center; }
.product-preview-waveform-timeline span:first-child { text-align: left; }
.product-preview-waveform-timeline span:last-child { text-align: right; }
.product-preview-waveform-loading { position: absolute; inset: 0; display: grid; place-items: center; padding: 8px; color: var(--muted); background: rgb(248 252 249 / 88%); font-size: 11px; text-align: center; pointer-events: none; }
.product-preview-waveform.is-unavailable .product-preview-waveform-loading { background: rgb(248 252 249 / 97%); }
.product-preview-audio-seek:disabled { cursor: default; opacity: .6; }
.product-preview-audio-seek.product-preview-waveform-seek:disabled { opacity: 0; }
.product-preview-audio-time { flex: 0 0 auto; color: var(--ink); font-size: 11px; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 600px) { .product-preview-waveform-start { flex-basis: 100%; margin-left: 0; } .product-preview-waveform { height: 80px; } }
.product-preview-track details { border-top: 1px solid var(--line); padding-top: 8px; }
.product-preview-track summary { cursor: pointer; color: var(--jade-dark); font-size: 12px; font-weight: 700; }
.product-preview-credits { padding-top: 12px; }
.product-preview-services { display: flex; flex-wrap: wrap; gap: 7px; }
.product-preview-services :is(a,span) { padding: 7px 9px; border-radius: 8px; color: var(--jade-dark); background: var(--jade-soft); font-size: 11px; font-weight: 700; text-decoration: none; }
.product-preview-services .is-unavailable { color: var(--muted); background: color-mix(in srgb, var(--muted) 9%, var(--surface)); }
.product-preview-smartlink { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); font-size: 12px; }
.product-preview-product-video { display: grid; gap: 9px; }
.product-preview-smartlink a { color: var(--jade-dark); font-weight: 700; }
.product-preview-smartlink button { padding: 6px 9px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); background: var(--surface); font-size: 11px; }
.product-preview-video-player { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 9px; background: #111827; }
.product-preview-video-gallery { display: grid; gap: 18px; margin-top: 10px; }
.product-preview-video-gallery:empty { display: none; }
.product-preview-video-gallery .product-preview-video,
.product-preview-video-gallery .product-preview-product-video { padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #f8fbfa; }
.product-preview-video-gallery .product-preview-video-link,
.product-preview-video-gallery .product-preview-smartlink { display: grid; gap: 10px; }
.product-preview-video-stats { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 12px; color: var(--muted); font-size: 11px; }
.product-preview-video-stats strong { color: #0d6355; font-size: 14px; }
.dashboard-youtube-catalog-body { display: grid; gap: 12px; }
.dashboard-youtube-catalog-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, .7fr); gap: 8px; }
.dashboard-youtube-catalog-controls input,
.dashboard-youtube-catalog-controls select { min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font: inherit; font-size: 11px; }
.dashboard-youtube-catalog-list { display: grid; gap: 6px; max-height: 430px; overflow: auto; }
.dashboard-youtube-artist { border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.dashboard-youtube-artist summary { display: grid; grid-template-columns: 24px 54px minmax(0, 1fr) auto; gap: 3px 9px; align-items: center; padding: 8px 10px; cursor: pointer; list-style: none; }
.dashboard-youtube-artist summary::-webkit-details-marker { display: none; }
.dashboard-youtube-artist summary:hover { background: color-mix(in srgb, var(--jade) 4%, #fff); }
.dashboard-youtube-artist-thumbnail { display: grid; width: 54px; height: 36px; place-items: center; overflow: hidden; border-radius: 6px; color: #fff; background: linear-gradient(135deg, #0d6661, #132d30); font-size: 21px; }
.dashboard-youtube-artist-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.dashboard-youtube-artist-identity { display: grid; min-width: 0; gap: 2px; }
.dashboard-youtube-artist-identity strong, .dashboard-youtube-artist-identity span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-youtube-artist-identity span { color: var(--muted); font-size: 10px; }
.dashboard-youtube-artist-count { font-variant-numeric: tabular-nums; white-space: nowrap; }
.dashboard-youtube-artist summary small { grid-column: 3 / -1; color: var(--muted); }
.dashboard-youtube-artist-trend[data-direction="up"] { color: #127258; }
.dashboard-youtube-artist-trend[data-direction="down"] { color: #ad4d30; }
.dashboard-youtube-artist-video { display: flex; justify-content: space-between; gap: 12px; padding: 8px 12px; border-top: 1px solid var(--line); font-size: 11px; }
.dashboard-youtube-artist-video a { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-youtube-catalog-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 10px; }
.dashboard-youtube-catalog-footer button { padding: 6px 10px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--jade); font: inherit; font-weight: 700; cursor: pointer; }
.dashboard-youtube-catalog-footer button:hover { background: color-mix(in srgb, var(--jade) 6%, #fff); }
@media (max-width: 600px) { .dashboard-youtube-catalog-controls { grid-template-columns: 1fr; } .dashboard-youtube-artist summary { grid-template-columns: 19px 46px minmax(0, 1fr); } .dashboard-youtube-artist-thumbnail { width: 46px; height: 32px; } .dashboard-youtube-artist-count { grid-column: 3; } .dashboard-youtube-artist summary small { grid-column: 3; } }
.product-preview-field-task { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; width: 100%; }
.product-preview-field-task label { flex-basis: 100%; color: var(--ink); font-weight: 700; }
.product-preview-field-task input { flex: 1 1 220px; min-width: 0; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); font: inherit; }
.product-preview-field-task small { flex-basis: 100%; color: var(--muted); }
.product-preview-metadata-tasks { display: grid; gap: 8px; }
.product-preview-metadata-task { padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.product-preview-metadata-task button { padding: 8px 11px; border: 0; border-radius: 7px; background: var(--jade-dark); color: white; font: 700 11px Manrope, sans-serif; cursor: pointer; }
.product-preview-metadata-task button:disabled { opacity: .55; cursor: wait; }
@media (max-width: 620px) { #productPreviewDialog { width: 100%; border-radius: 0; } .product-preview-card { padding: 18px; } .product-preview-hero { grid-template-columns: 110px 1fr; } .product-preview-cover { width: 110px; } }
@media (max-width: 760px) {
  .table-scrollbar { display: none; }
  .table-wrap { max-height: none; overflow: visible; padding: 0 10px 12px; }
  #catalogTable { display: block; width: 100%; min-width: 0 !important; table-layout: auto; }
  #catalogTable thead { display: none; }
  .catalog-shell .selection-bar { display: none; }
  #catalogTable tbody { display: grid; gap: 10px; }
  #catalogTable tbody tr.product-row { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; height: auto; max-height: none; min-height: 74px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: 0 3px 10px color-mix(in srgb, var(--jade) 6%, transparent); cursor: pointer; }
  #catalogTable tbody tr.product-row:focus-visible { outline: 3px solid var(--jade); outline-offset: 2px; }
  #catalogTable tbody tr.product-row.is-selected { border-color: var(--jade); }
  #catalogTable tbody tr.product-row td { display: none; width: auto; height: auto; min-width: 0; overflow: visible; border: 0; padding: 0; white-space: normal; }
  #catalogTable tbody tr.product-row td.product-cell { display: grid; grid-column: 1; grid-row: 1; grid-template-columns: 56px minmax(0, 1fr); align-content: center; gap: 2px 9px; }
  #catalogTable tbody tr.product-row td.notes-cell,
  #catalogTable tbody tr.product-row td.check-cell { display: none; }
  #catalogTable tbody tr.product-row .artwork-frame { grid-column: 1; grid-row: 1 / 3; width: 56px; height: 56px; margin: 0; border-radius: 8px; }
  #catalogTable tbody tr.product-row .product-identity { display: grid; grid-column: 2; grid-row: 1; min-width: 0; max-width: none; gap: 1px; }
  #catalogTable tbody tr.product-row .product-identity strong { overflow: hidden; font: 800 13px/1.2 Manrope, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
  #catalogTable tbody tr.product-row .product-identity small { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
  #catalogTable tbody tr.product-row .mobile-product-summary { display: flex; grid-column: 2; grid-row: 2; flex-wrap: wrap; align-items: center; gap: 2px 7px; min-width: 0; color: var(--muted); font-size: 10px; line-height: 1.15; }
  #catalogTable tbody tr.product-row .mobile-product-summary > span:first-child { color: var(--ink); font-weight: 700; }
  #catalogTable tbody tr.product-row .mobile-product-status { color: var(--jade-dark); font-weight: 800; white-space: nowrap; }
  #catalogTable tbody tr.product-row .mobile-product-status:is(.status-key-ready-for-package,.status-key-package-generated,.status-key-ready) { color: var(--status-ready-ink); }
  #catalogTable tbody tr.product-row .mobile-product-status:is(.status-key-sent-to-provider,.status-key-provider-accepted) { color: var(--status-sent-ink); }
  #catalogTable tbody tr.product-row .mobile-product-services { margin-left: auto; gap: 1px; }
  #catalogTable tbody tr.product-row .mobile-product-services .service-indicator { width: 14px; height: 14px; }
  #catalogTable tbody tr.product-row .mobile-product-services .service-indicator svg { width: 12px; height: 12px; }
  #productPreviewDialog { inset: 0; width: 100%; height: 100dvh; max-height: 100dvh; border-radius: 0; }
  #productPreviewDialog .product-preview-card { padding: 12px 14px calc(24px + env(safe-area-inset-bottom)); }
  #productPreviewDialog .product-preview-header { position: sticky; z-index: 2; top: -12px; align-items: center; gap: 10px; background: var(--surface); padding: 8px 0 10px; }
  #productPreviewDialog .product-preview-header h2 { font-size: clamp(20px, 5.5vw, 24px); }
  #productPreviewDialog .product-preview-header p:last-child { font-size: 13px; }
  #productPreviewDialog .product-preview-body { gap: 12px; padding-top: 12px; }
  #productPreviewDialog .product-preview-hero { grid-template-columns: 1fr; justify-items: center; gap: 10px; min-width: 0; }
  #productPreviewDialog .product-preview-cover { width: min(70vw, 290px); }
  #productPreviewDialog .product-preview-hero-facts { width: 100%; max-width: 100%; justify-self: stretch; justify-content: space-between; flex-wrap: nowrap; gap: 10px; overflow-x: auto; padding: 3px 0 5px; scrollbar-width: thin; }
  #productPreviewDialog .product-preview-status { flex: 0 0 auto; padding: 4px 7px; font-size: 10px; }
  #productPreviewDialog .product-preview-scope,
  #productPreviewDialog .product-preview-indicators { flex: 0 0 auto; flex-wrap: nowrap; gap: 4px; }
  #productPreviewDialog .product-preview-scope { flex: 0 0 auto; flex-wrap: nowrap; gap: 3px; }
  #productPreviewDialog .product-preview-scope .scope-flag { width: 28px; height: 18px; }
  #productPreviewDialog .product-preview-materials .material-indicator { width: 19px; height: 19px; }
  #productPreviewDialog .product-preview-indicators .service-indicator { width: 19px; height: 19px; }
  #productPreviewDialog .product-preview-indicators .service-indicator svg { width: 16px; height: 16px; }
  #productPreviewDialog .product-preview-facts,
  #productPreviewDialog .product-preview-credits { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
  #productPreviewDialog .product-preview-fact { gap: 2px; }
  #productPreviewDialog .product-preview-fact small { font-size: 9px; letter-spacing: .025em; line-height: 1.2; }
  #productPreviewDialog .product-preview-fact span { font-size: 12px; line-height: 1.3; }
}
.licensor-cell { width: 13%; }
.distributor-cell { width: 118px; font-weight: 700; }
.track-detail-row:hover { background: transparent; }
.track-detail-row > td { height: auto; padding: 0 10px 0 72px; background: color-mix(in srgb, var(--jade) 4%, var(--surface)); }
.tracks-reveal { display: grid; grid-template-rows: 0fr; padding-bottom: 0; opacity: 0; transform: translateY(-5px); transform-origin: top; will-change: grid-template-rows, transform, opacity; animation: tracks-reveal-open .38s cubic-bezier(.22, 1, .36, 1) both; }
.tracks-reveal.is-closing { pointer-events: none; animation: tracks-reveal-close .24s cubic-bezier(.4, 0, .8, 1) both; }
.tracks-panel { width: min(100%, 1760px); min-height: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--jade) 18%, var(--line)); border-top: 0; border-radius: 0 0 10px 10px; background: var(--surface); box-shadow: 0 6px 16px color-mix(in srgb, var(--jade) 7%, transparent); }
@keyframes tracks-reveal-open { from { grid-template-rows: 0fr; padding-bottom: 0; opacity: 0; transform: translateY(-5px); } to { grid-template-rows: 1fr; padding-bottom: 6px; opacity: 1; transform: translateY(0); } }
@keyframes tracks-reveal-close { from { grid-template-rows: 1fr; padding-bottom: 6px; opacity: 1; transform: translateY(0); } to { grid-template-rows: 0fr; padding-bottom: 0; opacity: 0; transform: translateY(-4px); } }
.tracks-loading, .tracks-error { min-height: 54px; display: flex; align-items: center; padding: 10px; color: var(--muted); font-size: 12px; }
.tracks-error { color: #b63a29; }
.track-list { margin: 0; padding: 0; list-style: none; }
.track-list li { min-height: 54px; display: grid; grid-template-columns: 26px minmax(140px, 220px) 24px 132px 82px 140px minmax(150px, 1fr) minmax(150px, 1fr) minmax(120px, .75fr) minmax(150px, 1fr); align-items: center; gap: 8px; padding: 6px 10px; border-bottom: 1px solid var(--line); }
.track-list li:last-child { border-bottom: 0; }
.track-position { color: var(--jade); font: 800 13px/1 Manrope, sans-serif; }
.track-info { min-width: 0; display: block; }
.track-info strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.track-explicit { display: grid; place-items: center; min-width: 0; }
.track-identifiers { display: grid; gap: 1px; color: var(--muted); font-size: 10.5px; }
.track-identifiers code { color: var(--ink); font-size: 10.5px; white-space: nowrap; }
.track-credit { min-width: 0; }
.track-credit small, .track-credit > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.track-credit small { color: var(--muted); font-size: 9px; line-height: 1; text-transform: uppercase; letter-spacing: .045em; }
.track-credit > span { margin-top: 2px; font-size: 10.5px; line-height: 1.15; }
.loading-state, .empty-state { display: grid; place-items: center; align-content: center; gap: 12px; min-height: 330px; color: var(--muted); }
.spinner { width: 34px; height: 34px; border-radius: 50%; border: 3px solid #dfe5df; border-top-color: var(--jade); animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.pagination { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 10px 14px; }
.pagination button { border: 1px solid color-mix(in srgb, var(--jade) 20%, var(--line)); border-radius: 999px; padding: 9px 15px; color: var(--jade-dark); background: color-mix(in srgb, var(--jade) 5%, var(--surface)); font-weight: 700; }
.pagination button:hover:not(:disabled) { background: var(--jade-soft); border-color: var(--jade); }
.pagination button:disabled { opacity: .35; cursor: not-allowed; }
.pagination span { color: var(--muted); font-size: 13px; }
footer { display: flex; justify-content: space-between; max-width: 1560px; margin: 0 auto; padding: 0 clamp(24px, 5vw, 76px) 38px; color: var(--muted); font-size: 12px; }
.floating-chat-button { position: fixed; right: max(22px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom)); z-index: 18; display: grid; place-items: center; width: 56px; height: 56px; border: 1px solid color-mix(in srgb, var(--jade) 72%, #0000); border-radius: 18px; padding: 0; color: #fff; background: linear-gradient(145deg, color-mix(in srgb, var(--jade) 88%, #fff), var(--jade-dark)); box-shadow: 0 14px 36px color-mix(in srgb, var(--jade-dark) 28%, transparent), 0 3px 9px rgba(12,35,31,.16); transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease; }
.floating-chat-button svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.unread-badge { position: absolute; top: -5px; right: -5px; display: grid; place-items: center; min-width: 21px; height: 21px; padding: 0 5px; border: 2px solid var(--surface); border-radius: 999px; color: #fff; background: #d9485f; font: 800 10px/1 Manrope, sans-serif; }
.floating-chat-button:hover:not(:disabled) { transform: translateY(-2px) scale(1.03); box-shadow: 0 18px 42px color-mix(in srgb, var(--jade-dark) 34%, transparent), 0 4px 10px rgba(12,35,31,.2); }
.floating-chat-button:focus-visible { outline: 3px solid color-mix(in srgb, var(--jade) 30%, transparent); outline-offset: 4px; }
.floating-chat-button:disabled { opacity: 0; pointer-events: none; }
dialog { width: min(660px, calc(100% - 28px)); border: 0; border-radius: 24px; padding: 0; box-shadow: 0 30px 100px rgba(15,35,34,.28); background: var(--surface); color: var(--ink); }
dialog::backdrop { background: rgba(13,30,29,.52); backdrop-filter: blur(4px); }
.dialog-card { padding: 28px; }
.dialog-card-compact { max-height: min(88vh, 820px); overflow: auto; padding: 22px; }
.preferences-card { width: 100%; max-height: none; overflow: visible; }
#preferencesDialog { width: min(920px, calc(100% - 28px)); }
#discussionDialog { position: fixed; inset: 0 0 0 auto; width: min(610px, 100%); max-width: 100%; height: 100dvh; max-height: none; margin: 0; border-radius: 22px 0 0 22px; opacity: 1; animation: discussion-drawer-in .32s cubic-bezier(.22, 1, .36, 1) both; }
#discussionDialog::backdrop { animation: discussion-backdrop-in .24s ease-out both; }
.discussion-card { display: grid; grid-template-rows: auto auto minmax(180px, 1fr) auto; width: 100%; height: 100%; max-height: none; padding: 0; overflow: hidden; background: color-mix(in srgb, var(--surface) 97%, var(--jade-soft)); }
.discussion-heading { align-items: center; padding: 20px 22px 16px; border-bottom: 1px solid var(--line); background: var(--surface); }
.discussion-heading .eyebrow { margin-bottom: 5px; font-size: 10px; letter-spacing: .13em; }
.discussion-heading h2 { margin: 0; font: 800 24px/1.1 Manrope, sans-serif; letter-spacing: -.035em; }
.discussion-heading .dialog-lead { margin: 5px 0 0; font-size: 12px; }
.discussion-routing { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.4fr); gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--surface) 92%, var(--jade-soft)); }
.discussion-route-field { display: grid; min-width: 0; gap: 5px; }
.discussion-product-field { grid-column: 1 / -1; }
.discussion-route-field > span, .discussion-message-field > span { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.discussion-route-field select, .discussion-route-field input { width: 100%; min-height: 39px; border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; color: var(--ink); background: var(--surface); outline: 0; font-size: 12px; font-weight: 700; }
.discussion-route-field select:focus, .discussion-route-field input:focus { border-color: var(--jade); box-shadow: 0 0 0 3px color-mix(in srgb, var(--jade) 12%, transparent); }
.discussion-active-context { grid-column: 1 / -1; display: flex; align-items: center; gap: 9px; min-width: 0; padding: 8px 10px; border: 1px solid color-mix(in srgb, var(--jade) 18%, var(--line)); border-radius: 10px; color: var(--jade-dark); background: color-mix(in srgb, var(--jade-soft) 64%, var(--surface)); }
.discussion-context-icon { display: grid; place-items: center; flex: 0 0 27px; width: 27px; height: 27px; border-radius: 8px; color: var(--surface); background: var(--jade); font: 800 13px/1 Manrope, sans-serif; opacity: 1; }
.discussion-active-context > span:last-child { display: grid; min-width: 0; gap: 1px; }
.discussion-active-context strong, .discussion-active-context small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.discussion-active-context strong { font-size: 12px; }
.discussion-active-context small { color: var(--muted); font-size: 10.5px; }
.discussion-list { display: flex; flex-direction: column; align-items: stretch; gap: 12px; min-height: 180px; max-height: none; padding: 18px 18px 24px; overflow: auto; scroll-behavior: smooth; }
@keyframes discussion-drawer-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes discussion-backdrop-in { from { background: rgba(13,30,29,0); backdrop-filter: blur(0); } to { background: rgba(13,30,29,.52); backdrop-filter: blur(4px); } }
.discussion-empty { align-self: center; width: min(360px, 100%); margin: auto; padding: 28px; border: 1px dashed var(--line); border-radius: 15px; color: var(--muted); background: color-mix(in srgb, var(--surface) 82%, transparent); text-align: center; line-height: 1.5; }
.discussion-loading { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 150px; color: var(--muted); }
.discussion-loading .spinner { width: 20px; height: 20px; }
.discussion-message { position: relative; align-self: flex-start; display: grid; width: min(84%, 430px); gap: 7px; padding: 11px 13px 9px; border: 1px solid var(--line); border-radius: 5px 15px 15px 15px; background: var(--surface); box-shadow: 0 7px 20px color-mix(in srgb, var(--ink) 5%, transparent); }
.discussion-message.is-own { align-self: flex-end; border-color: color-mix(in srgb, var(--jade) 20%, var(--line)); border-radius: 15px 5px 15px 15px; background: color-mix(in srgb, var(--jade-soft) 62%, var(--surface)); }
.discussion-message.is-reply { width: min(78%, 400px); margin-left: 28px; border-left: 3px solid color-mix(in srgb, var(--jade) 56%, var(--line)); }
.discussion-message.is-own.is-reply { margin-right: 28px; margin-left: 0; }
.discussion-message.is-important { border-color: color-mix(in srgb, #d58c00 58%, var(--line)); }
.discussion-message.requires-action { box-shadow: inset 3px 0 0 var(--coral); }
.discussion-message h3, .discussion-message p { margin: 0; }
.discussion-message h3 { font: 800 14px/1.25 Manrope, sans-serif; }
.discussion-message p { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.48; }
.discussion-message-meta, .discussion-message-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.discussion-message-meta { color: var(--muted); font-size: 11px; }
.discussion-avatar { display: grid; place-items: center; flex: 0 0 25px; width: 25px; height: 25px; overflow: hidden; border-radius: 50%; color: var(--menu-ink); background: var(--menu-bg); font: 800 10px/1 Manrope, sans-serif; }
.discussion-message-meta strong { color: var(--ink); font-size: 12px; }
.discussion-edited { padding: 2px 6px; border-radius: 999px; color: var(--muted); background: color-mix(in srgb, var(--paper) 78%, var(--surface)); font-size: 10px; font-weight: 700; }
.discussion-visibility, .discussion-message-actions > span { padding: 3px 7px; border-radius: 999px; background: color-mix(in srgb, var(--paper) 76%, var(--surface)); font-size: 10px; font-weight: 800; }
.visibility-private { color: #7253b8; }
.visibility-operations { color: #1769aa; }
.visibility-direct { color: var(--jade-dark); }
.discussion-message-actions { justify-content: flex-end; min-height: 28px; padding-top: 2px; }
.discussion-message-actions > span { margin-right: auto; }
.discussion-card-action { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 28px; border: 1px solid transparent; border-radius: 999px; padding: 4px 8px; color: var(--jade-dark); background: transparent; font: 700 11px/1 Manrope, sans-serif; cursor: pointer; transition: border-color .16s ease, background .16s ease, color .16s ease; }
.discussion-card-action[hidden] { display: none; }
.discussion-card-action svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.discussion-card-action:hover { border-color: color-mix(in srgb, var(--jade) 24%, var(--line)); background: color-mix(in srgb, var(--jade-soft) 66%, var(--surface)); }
.discussion-share-trigger { color: var(--surface); background: var(--jade); }
.discussion-share-trigger:hover { color: var(--surface); border-color: var(--jade-dark); background: var(--jade-dark); }
.discussion-share-control { display: grid; gap: 10px; padding: 11px; border: 1px solid color-mix(in srgb, var(--jade) 26%, var(--line)); border-radius: 13px; background: color-mix(in srgb, var(--jade-soft) 48%, var(--surface)); box-shadow: 0 7px 18px color-mix(in srgb, var(--ink) 5%, transparent); }
.discussion-share-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.discussion-share-heading > span { display: grid; gap: 2px; }
.discussion-share-heading strong { color: var(--ink); font-size: 12px; }
.discussion-share-heading small { color: var(--muted); font-size: 10.5px; }
.discussion-share-cancel { display: grid; place-items: center; width: 26px; height: 26px; border: 0; border-radius: 50%; color: var(--muted); background: color-mix(in srgb, var(--paper) 82%, var(--surface)); font-size: 19px; line-height: 1; cursor: pointer; }
.discussion-share-cancel:hover { color: var(--ink); background: var(--paper); }
.discussion-share-picker { display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.discussion-share-picker select { width: 100%; min-height: 38px; border: 1px solid var(--line); border-radius: 10px; padding: 7px 9px; color: var(--ink); background: var(--surface); font: 700 12px/1.2 DM Sans, sans-serif; }
.discussion-share-footer { display: flex; justify-content: flex-end; }
.discussion-share-confirm { min-height: 34px; border-radius: 999px; padding: 7px 14px; }
.discussion-edit-form { display: grid; gap: 8px; }
.discussion-edit-form textarea { width: 100%; min-height: 88px; resize: vertical; border: 1px solid var(--line); border-radius: 10px; padding: 9px 10px; color: var(--ink); background: var(--surface); font: inherit; line-height: 1.45; outline: 0; }
.discussion-edit-form textarea:focus { border-color: var(--jade); box-shadow: 0 0 0 3px color-mix(in srgb, var(--jade) 13%, transparent); }
.discussion-edit-actions { display: flex; justify-content: flex-end; gap: 8px; }
.discussion-delete-button { color: var(--coral); }
.discussion-delete-button:hover { border-color: color-mix(in srgb, var(--coral) 28%, var(--line)); color: var(--coral); background: color-mix(in srgb, var(--coral) 8%, var(--surface)); }
.discussion-composer { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; padding: 13px 18px 16px; border-top: 1px solid var(--line); background: var(--surface); box-shadow: 0 -8px 24px color-mix(in srgb, var(--ink) 4%, transparent); }
.discussion-composer > label { display: grid; grid-column: 1 / -1; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 800; }
.discussion-composer input[type="text"], .discussion-composer textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 10px 11px; color: var(--ink); background: color-mix(in srgb, var(--surface) 95%, var(--paper)); font: inherit; outline: 0; }
.discussion-composer textarea { resize: none; min-height: 70px; max-height: 150px; }
.discussion-composer input:focus, .discussion-composer textarea:focus { border-color: var(--jade); box-shadow: 0 0 0 3px color-mix(in srgb, var(--jade) 13%, transparent); }
.discussion-options { display: flex; align-items: center; gap: 13px; }
.discussion-check { display: flex; align-items: center; gap: 7px; min-height: 36px; color: var(--ink); font-size: 11px; font-weight: 700; white-space: nowrap; }
.discussion-status { min-height: 18px; margin: 0; color: var(--jade-dark); font-size: 12px; font-weight: 700; }
.discussion-composer .discussion-status { grid-column: 1 / -1; min-height: 0; }
.discussion-composer .dialog-actions { align-self: center; margin: 0; }
.discussion-send { min-height: 38px; border-radius: 999px; padding: 8px 14px; }
.discussion-send span { display: inline-grid; place-items: center; width: 19px; height: 19px; margin-left: 5px; border-radius: 50%; color: var(--jade-dark); background: var(--surface); font-size: 13px; }
.reply-banner { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border-radius: 9px; color: var(--jade-dark); background: var(--jade-soft); font-size: 11px; font-weight: 800; }
.discussion-composer .reply-banner { grid-column: 1 / -1; }
.discussion-sharing { grid-column: 1 / -1; display: grid; gap: 8px; }
.discussion-share-switch { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 12px; background: color-mix(in srgb, var(--surface) 94%, var(--jade-soft)); cursor: pointer; }
.discussion-share-switch > span { display: grid; gap: 2px; }
.discussion-share-switch strong { color: var(--ink); font-size: 12px; }
.discussion-share-switch small { color: var(--muted); font-size: 10.5px; font-weight: 500; }
.discussion-share-switch input { appearance: none; position: relative; flex: 0 0 34px; order: 2; width: 34px; height: 20px; border-radius: 999px; background: var(--line); cursor: pointer; transition: background .18s ease; }
.discussion-share-switch input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: var(--surface); box-shadow: 0 1px 3px rgba(0,0,0,.18); transition: transform .18s ease; }
.discussion-share-switch input:checked { background: var(--jade); }
.discussion-share-switch input:checked::after { transform: translateX(14px); }
.discussion-audience { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 8px; }
.discussion-audience .discussion-route-field { display: grid; gap: 5px; }
.discussion-audience .discussion-route-field small { color: var(--muted); font-size: 10.5px; font-weight: 500; }
.discussion-audience select:disabled { color: var(--ink); opacity: .78; cursor: not-allowed; background: color-mix(in srgb, var(--paper) 72%, var(--surface)); }
.discussion-audience .button:disabled { opacity: .45; cursor: not-allowed; }
.discussion-group-form { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr) auto; align-items: end; gap: 8px; padding: 10px; border: 1px solid color-mix(in srgb, var(--jade) 24%, var(--line)); border-radius: 12px; background: var(--surface); }
.discussion-group-form select[multiple] { min-height: 78px; }
.reply-banner .text-button { margin-left: auto; }
.notes-cell { width: 104px; min-width: 104px; padding: 4px 3px; text-align: center; }
.notes-legend { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .04em; white-space: nowrap; }
.product-note-button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 4px; width: 98px; height: 28px; border: 0; border-radius: 7px; padding: 0 4px; color: var(--jade-dark); background: var(--jade-soft); opacity: .82; }
.product-note-button.has-unread { opacity: 1; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--jade) 38%, transparent); }
.product-note-button.has-notes { opacity: 1; }
.product-note-button svg { flex: 0 0 14px; width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.product-note-counts { display: inline-flex; align-items: center; gap: 2px; }
.product-note-count { min-width: 19px; padding: 2px 3px; border-radius: 5px; color: var(--muted); background: color-mix(in srgb, var(--surface) 72%, transparent); font: 800 8px/1 Manrope, sans-serif; }
.product-note-count-messages { color: #17658a; background: #dceff7; }
.product-note-count-unread { color: #fff; background: #d9485f; }
.product-note-button:hover { opacity: 1; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--jade) 28%, transparent); }
.dialog-heading { display: flex; justify-content: space-between; gap: 20px; }
.icon-button { align-self: start; width: 38px; height: 38px; border: 0; border-radius: 50%; color: var(--ink); background: #edf0eb; font-size: 24px; }
fieldset { margin: 28px 0 20px; padding: 0; border: 0; }
legend { margin-bottom: 12px; font-weight: 700; }
.compact-fieldset { margin: 16px 0 0; }
.export-layout { display: grid; grid-template-columns: .75fr 1.6fr; gap: 18px; }
.export-selection-count { margin: 13px 0 0; color: var(--muted); font-size: 12px; }
.export-selection-count strong { color: var(--ink); }
.fieldset-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.fieldset-heading legend { margin: 0; }
.inline-actions { display: flex; gap: 5px; }
.inline-actions .text-button { margin: 0; padding: 4px 7px; }
.columns-fieldset { max-height: 300px; overflow: auto; padding-right: 4px; }
.column-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 6px; }
.column-grid label, .export-format label { display: flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 9px; font-size: 12px; }
.export-format { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.export-content-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.export-content-options label { display: grid; grid-template-columns: auto 1fr; align-content: center; column-gap: 8px; min-height: 58px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; font-size: 12px; font-weight: 800; cursor: pointer; }
.export-content-options label small { grid-column: 2; color: var(--muted); font-size: 10px; font-weight: 500; line-height: 1.3; }
.export-content-options input { align-self: center; accent-color: var(--jade); }
.export-media-note { margin: 9px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.export-media-note[data-warning="true"] { color: #a45312; }
.youtube-package-fieldset p { margin: 2px 0 10px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.youtube-package-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.youtube-package-actions .button { font-size: 11px; }
.export-audio-tracks { margin-top: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
.export-audio-track-list { display: grid; gap: 5px; max-height: 170px; overflow: auto; margin-top: 8px; }
.export-audio-track-list label { display: flex; align-items: center; gap: 8px; min-height: 30px; font-size: 11px; }
.export-audio-track-list input { accent-color: var(--jade); }
.dialog-lead { margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.preferences-tabs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; margin-top: 14px; padding: 4px; border: 1px solid var(--line); border-radius: 12px; background: color-mix(in srgb, var(--paper) 72%, var(--surface)); }
.preferences-tabs button { min-height: 36px; border: 0; border-radius: 9px; color: var(--muted); background: transparent; font-weight: 800; }
.preferences-tabs button[aria-selected="true"] { color: var(--menu-ink); background: var(--menu-bg); box-shadow: 0 3px 10px color-mix(in srgb, var(--jade) 12%, transparent); }
.preferences-panel { min-height: 490px; }
.preferences-panel[hidden] { display: none; }
#preferencesDashboardPanel { min-height: 0; }
#preferencesDashboardPanel .dashboard-customizer { display: grid; align-content: start; gap: 14px; margin: 14px 0 0; }
#preferencesDashboardPanel .dashboard-customizer-list { justify-content: flex-start; }
.preferences-columns-fieldset { max-height: none; overflow: visible; }
.preferences-panel .ordered-column-list { grid-template-columns: 1fr; }
.preferences-panel .ordered-column-row { min-height: 32px; }
.preferences-panel .ordered-column-row label { padding: 4px 7px; font-size: 11px; }
.preferences-panel .column-order-controls button { width: 25px; }
.preferences-panel .personal-presets-fieldset { margin-top: 11px; }
.preferences-panel .saved-presets { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 90px; overflow: auto; }
.label-settings-fieldset { display: grid; align-content: start; justify-items: start; gap: 12px; }
.label-settings-fieldset .theme-help { margin: 0; }
.managed-labels { display: grid; width: 100%; gap: 8px; max-height: 350px; overflow: auto; }
.managed-label-row { display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.managed-label-swatch { flex: none; width: 20px; height: 20px; border: 1px solid color-mix(in srgb, var(--label-color) 72%, var(--line)); border-radius: 6px; background: var(--label-color); }
.managed-label-description { display: grid; flex: 1; min-width: 0; gap: 2px; }
.managed-label-description strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.managed-label-description small { color: var(--muted); font-size: 10px; }
.managed-label-row button { flex: none; min-height: 30px; padding: 5px 9px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); background: var(--surface); font-size: 11px; font-weight: 700; cursor: pointer; }
.managed-label-row button:hover { border-color: var(--jade); color: var(--jade-dark); }
.managed-label-actions { display: flex; gap: 6px; margin-left: auto; }
.managed-label-actions button:disabled { opacity: .55; cursor: wait; }
.managed-label-row .managed-label-delete { color: #b42318; }
.managed-label-row .managed-label-delete:hover { border-color: #b42318; color: #8f1d15; }
.managed-labels-empty { margin: 0; padding: 14px; border: 1px dashed var(--line); border-radius: 10px; color: var(--muted); font-size: 12px; }
#preferencesViewsPanel .save-preset-row { grid-template-columns: minmax(180px, 1fr) auto; }
.preset-grid { display: flex; flex-wrap: wrap; gap: 6px; }
.preset-grid button { border: 1px solid var(--line); border-radius: 999px; padding: 7px 10px; color: var(--ink); background: var(--surface); font-size: 12px; font-weight: 700; }
.preset-grid button:hover { border-color: var(--jade); background: var(--jade-soft); }
.palette-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.palette-grid label { display: flex; align-items: center; gap: 7px; min-height: 38px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 9px; font-size: 12px; }
.palette-grid label:has(input:checked) { border-color: var(--jade); background: var(--jade-soft); box-shadow: 0 3px 10px color-mix(in srgb, var(--jade) 12%, transparent); }
.theme-help { margin: -4px 0 9px; color: var(--muted); font-size: 11px; }
.theme-subheading { margin: 13px 0 7px; color: var(--ink); font-size: 12px; }
.theme-scheme-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.theme-scheme-grid button { display: grid; gap: 6px; border: 1px solid var(--line); border-radius: 10px; padding: 8px; color: var(--ink); background: var(--surface); text-align: left; }
.theme-scheme-grid button:hover { border-color: var(--jade); transform: translateY(-1px); box-shadow: 0 5px 14px color-mix(in srgb, var(--jade) 12%, transparent); }
.theme-scheme-grid strong { font-size: 11px; }
.theme-scheme-swatches { display: grid; grid-template-columns: repeat(4, 1fr); height: 19px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--ink) 12%, transparent); border-radius: 6px; }
.theme-scheme-swatches i { display: block; }
.theme-color-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.theme-color-fields label { display: grid; grid-template-columns: minmax(86px, 1fr) 38px 88px; align-items: center; gap: 6px; min-height: 42px; padding: 6px 7px 6px 10px; border: 1px solid var(--line); border-radius: 9px; }
.theme-color-fields label span { color: var(--muted); font-size: 11px; font-weight: 700; }
.theme-color-fields input[type="color"] { width: 38px; height: 30px; border: 0; padding: 1px; background: transparent; }
.theme-color-fields input[type="text"] { width: 88px; min-height: 30px; border: 1px solid var(--line); border-radius: 7px; padding: 0 6px; color: var(--ink); background: var(--surface); font: 10px ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.theme-color-fields input[aria-invalid="true"] { border-color: var(--coral); }
.palette-swatch { width: 16px; height: 16px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0,0,0,.1); }
.ordered-column-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.ordered-column-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; min-height: 38px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.ordered-column-row label { display: flex; min-width: 0; align-items: center; gap: 8px; padding: 7px 9px; font-size: 12px; }
.column-order-controls { display: flex; align-self: stretch; border-left: 1px solid var(--line); }
.column-order-controls button { width: 30px; border: 0; border-left: 1px solid var(--line); color: var(--jade-dark); background: transparent; font-weight: 800; }
.column-order-controls button:first-child { border-left: 0; }
.column-order-controls button:hover:not(:disabled) { background: var(--jade-soft); }
.column-order-controls button:disabled { opacity: .25; cursor: not-allowed; }
.custom-color-row { display: grid; grid-template-columns: .8fr 1fr auto; align-items: end; gap: 8px; margin-top: 8px; }
.custom-color-row label { display: grid; gap: 5px; color: var(--muted); font-size: 11px; font-weight: 700; }
.custom-color-row input[type="color"] { width: 100%; height: 38px; border: 1px solid var(--line); border-radius: 9px; padding: 3px; background: var(--surface); }
.custom-color-row input[type="text"], .save-preset-row input { width: 100%; min-height: 38px; border: 1px solid var(--line); border-radius: 9px; padding: 0 10px; color: var(--ink); background: var(--surface); outline: 0; }
.custom-color-row input[aria-invalid="true"] { border-color: var(--coral); box-shadow: 0 0 0 2px color-mix(in srgb, var(--coral) 18%, transparent); }
.custom-color-row > small { padding-bottom: 10px; color: var(--muted); font-size: 10px; }
.personal-presets-fieldset { padding-top: 2px; border-top: 1px solid var(--line); }
.save-preset-row { display: grid; grid-template-columns: minmax(180px, 1fr) 145px auto; gap: 7px; }
.save-preset-row select { min-height: 38px; border: 1px solid var(--line); border-radius: 9px; padding: 0 9px; color: var(--ink); background: var(--surface); }
.include-tracks { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); font-size: 12px; font-weight: 700; }
.saved-presets { display: grid; gap: 6px; margin-top: 8px; }
.saved-presets-empty { margin: 0; padding: 9px; border: 1px dashed var(--line); border-radius: 9px; color: var(--muted); font-size: 12px; }
.saved-preset-row { display: grid; grid-template-columns: auto minmax(100px, 1fr) auto auto auto; align-items: center; gap: 8px; min-height: 40px; padding: 5px 7px 5px 10px; border: 1px solid var(--line); border-radius: 9px; }
.saved-theme-swatches { display: grid; grid-template-columns: repeat(4, 7px); width: 28px; height: 22px; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; }
.saved-theme-swatches i { display: block; }
.saved-view-icon { display: grid; place-items: center; width: 28px; height: 22px; border: 1px solid var(--line); border-radius: 6px; color: var(--jade-dark); background: var(--jade-soft); font-size: 13px; }
.saved-preset-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.saved-preset-row small { color: var(--muted); font-size: 10px; }
.saved-preset-row button { border: 0; border-radius: 999px; padding: 5px 8px; color: var(--jade-dark); background: var(--jade-soft); font-size: 11px; font-weight: 700; }
.saved-preset-row .remove-preset { color: var(--coral); background: transparent; }
.preferences-status { min-height: 18px; margin: 12px 0 0; color: var(--jade-dark); font-size: 12px; font-weight: 700; }
.profile-avatar-fieldset { max-width: 620px; }
.avatar-editor { display: flex; align-items: center; gap: 18px; margin-top: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.avatar-preview { display: grid; place-items: center; flex: 0 0 88px; width: 88px; height: 88px; overflow: hidden; border: 1px solid var(--line); border-radius: 50%; color: var(--menu-ink); background: var(--menu-bg); box-shadow: 0 0 0 5px color-mix(in srgb, var(--jade) 10%, transparent); font: 800 28px/1 Manrope, sans-serif; }
.avatar-editor-copy { display: grid; min-width: 0; gap: 5px; }
.avatar-editor-copy small { color: var(--muted); font-size: 11px; }
.avatar-actions { margin-top: 8px; }
.avatar-upload-button { display: inline-flex; align-items: center; cursor: pointer; }
.avatar-remove-button { color: var(--coral); }
.avatar-remove-button:disabled { opacity: .4; cursor: not-allowed; }
.dialog-error { margin: 14px 0 0; color: #b63a29; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 24px; }
.product-preview-header-actions { display: flex; align-items: center; gap: 8px; }
.product-preview-header-actions .button { min-height: 34px; padding: 6px 10px; font-size: 11px; white-space: nowrap; }
.update-dialog { width: min(720px, calc(100% - 24px)); max-height: min(90dvh, 900px); overflow-y: auto; }
.update-dialog-card { display: grid; gap: 16px; }
.update-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.update-dialog-heading h2 { margin: 4px 0 7px; font: 800 25px/1.15 Manrope, sans-serif; }
.update-dialog-heading p:last-child { margin: 0; color: var(--muted); font-size: 13px; }
.update-dialog-intro { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.update-submission-fields, .update-requests-list { display: grid; gap: 10px; }
.update-submission-row { display: grid; grid-template-columns: minmax(150px, .7fr) minmax(200px, 1.3fr) auto; align-items: end; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: color-mix(in srgb, var(--surface) 88%, var(--jade-soft)); }
.update-submission-row label, .update-note { display: grid; gap: 6px; color: var(--ink); font-size: 12px; font-weight: 700; }
.update-submission-row select, .update-submission-row textarea, .update-note textarea { width: 100%; min-height: 38px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--ink); font: 500 13px/1.4 "DM Sans", sans-serif; }
.update-submission-row textarea, .update-note textarea { resize: vertical; }
.update-submission-row :is(select,textarea):focus-visible, .update-note textarea:focus-visible { outline: 2px solid var(--jade); outline-offset: 2px; }
.update-remove-field { min-height: 38px; font-size: 11px; }
.update-submission-status { min-height: 18px; margin: 0; color: var(--jade-dark); font-size: 12px; font-weight: 700; }
.update-request-item { display: grid; gap: 6px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.update-request-item > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.update-request-item strong { font: 800 13px/1.35 Manrope, sans-serif; }
.update-request-item small { color: var(--muted); }
.update-request-item p { margin: 0; overflow-wrap: anywhere; font-size: 12px; line-height: 1.5; }
.update-request-status { flex: 0 0 auto; padding: 4px 8px; border-radius: 999px; color: #9a5b09; background: #fff3d8; font-size: 10px; font-weight: 800; }
.update-request-status.is-accepted { color: #12634b; background: #dff6ea; }
.update-request-status.is-rejected { color: #a52b37; background: #ffebed; }
.update-request-resolution { color: var(--muted); }
@media (max-width: 640px) {
  .product-preview-header-actions { flex-direction: column-reverse; align-items: end; }
  .update-dialog-card { padding: 20px; }
  .update-submission-row { grid-template-columns: 1fr; }
  .update-remove-field { justify-self: end; }
  .update-request-item > div { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 760px) {
  .dashboard-clips-grid { grid-template-columns: 1fr; }
  .site-header { min-height: 52px; }
  .site-header { grid-template-columns: 1fr auto; }
  .main-nav a, .main-nav span, .header-meta { display: none; }
  .main-nav { display: flex; margin-left: auto; }
  .main-nav .nav-settings { display: inline-flex; }
  .hero { grid-template-columns: 1fr; padding-top: 54px; }
  .hero-copy { grid-column: 1; grid-row: auto; margin-top: 28px; }
  .hero-stats { gap: 20px; justify-content: space-between; padding-top: 36px; }
  .hero-stats div { display: block; }
  .hero-stats span { display: block; margin-top: 5px; }
  .dashboard-hero { align-items: flex-start; flex-direction: column; }
  .dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-weeks, .dashboard-columns { grid-template-columns: 1fr; }
  .dashboard-calendar-month { padding: 12px; }
  .dashboard-calendar-day { min-height: 42px; padding: 6px 4px; }
  .dashboard-calendar-item { grid-template-columns: 48px minmax(0, 1fr) auto; gap: 8px; }
  .dashboard-calendar-cover { width: 48px; height: 48px; }
  .dashboard-calendar-item .dashboard-operational-summary { min-width: 78px; }
  .dashboard-customizer { align-items: stretch; flex-direction: column; }
  .dashboard-customizer-list { grid-template-columns: 1fr; }
  .dashboard-insight-bar { grid-template-columns: minmax(76px, 1fr) minmax(44px, 1.4fr) 28px; gap: 6px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-widget, .dashboard-widget[data-size="wide"], .dashboard-widget[data-size="full"] { grid-column: 1; }
  .dashboard-youtube-grid { grid-template-columns: 1fr; }
  .dashboard-panel-actions { align-items: flex-end; flex-direction: column-reverse; }
  .catalog-shell { border-radius: 20px; }
  .catalog-heading, .toolbar { padding-left: 18px; padding-right: 18px; }
  .catalog-heading { align-items: center; }
  .catalog-heading { flex-wrap: wrap; }
  .catalog-heading-tools { width: 100%; grid-template-columns: 1fr; }
  .button { padding: 11px 15px; }
  .toolbar { grid-template-columns: 1fr; }
  .filter-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; padding: 5px 10px; }
  .filter-toolbar label { min-width: 0; gap: 0; font-size: 0; }
  .filter-toolbar select { min-height: 30px; padding: 0 7px; font-size: 11px; }
  .date-filters { gap: 5px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: 4px 10px 8px; }
  .date-filters::-webkit-scrollbar { display: none; }
  .date-filter { flex: 0 0 auto; min-height: 28px; padding: 3px 9px; font-size: 11px; white-space: nowrap; scroll-snap-align: start; }
  .date-filter strong, .date-label-desktop { display: none; }
  .date-label-mobile { display: inline; }
  .selection-bar { padding: 0 18px; }
  .selection-bar #resultSummary { display: none; }
  .export-layout, .column-grid, .export-scope, .export-format, .export-content-options { grid-template-columns: 1fr; }
  .palette-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-scheme-grid, .theme-color-fields { grid-template-columns: 1fr; }
  .ordered-column-list { grid-template-columns: 1fr; }
  .preferences-card { max-height: min(88vh, 820px); overflow: auto; }
  .preferences-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .preferences-tabs button { font-size: 11px; }
  .preferences-panel { min-height: 0; }
  .preferences-panel .ordered-column-list { grid-template-columns: 1fr; }
  .custom-color-row { grid-template-columns: 1fr 1fr; }
  .custom-color-row > small { grid-column: 1 / -1; padding: 0; }
  .save-preset-row, #preferencesViewsPanel .save-preset-row { grid-template-columns: 1fr; }
  .discussion-routing { grid-template-columns: 1fr; }
  .discussion-active-context { grid-column: 1; }
  .discussion-composer { grid-template-columns: 1fr; }
  .discussion-options, .discussion-composer .dialog-actions { justify-content: space-between; }
  .discussion-composer .dialog-actions { grid-column: 1; }
  .discussion-message.is-reply { margin-left: 16px; }
  .discussion-audience, .discussion-group-form { grid-template-columns: 1fr; }
  #discussionDialog { width: 100%; border-radius: 0; }
  .floating-chat-button { right: max(14px, env(safe-area-inset-right)); bottom: max(14px, env(safe-area-inset-bottom)); width: 52px; height: 52px; border-radius: 16px; }
  .saved-preset-row { grid-template-columns: auto minmax(80px, 1fr) auto auto; }
  .saved-preset-row small { display: none; }
  .track-detail-row > td { padding: 0 14px 18px 58px; }
  .track-list li { grid-template-columns: 34px minmax(170px, 1fr) 30px; }
  .track-explicit { grid-column: 3; grid-row: 1; }
  .track-identifiers { grid-column: 2 / 4; }
}
@media (min-width: 761px) and (max-width: 1180px) {
  .dashboard-clips-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-youtube-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dashboard-weeks { grid-template-columns: minmax(330px, .9fr) minmax(0, 1.1fr); }
}
@media (min-width: 1181px) and (max-width: 1500px) {
  .dashboard-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1501px) {
  .main-nav {
    position: absolute;
    left: max(190px, calc((100vw - 1460px) / 2 + clamp(12px, 2vw, 28px) + 2px));
    justify-content: flex-start;
  }
}
@media (prefers-reduced-motion: reduce) {
  .tracks-reveal, .tracks-reveal.is-closing { grid-template-rows: 1fr; padding-bottom: 6px; opacity: 1; transform: none; animation: none; }
  .expand-button span { transition: none; }
  #discussionDialog, #discussionDialog::backdrop { animation: none; }
}

/* HiMusic keeps its own palette, but uses the same left-navigation rhythm as Operations. */
.site-header { width: calc(100% - 188px); min-height: 58px; margin-left: 188px; justify-content: flex-end; }
.site-header .brand { position: fixed; top: 0; left: 0; z-index: 24; width: 188px; height: 58px; padding: 0 15px; background: var(--sidebar-bg); color: var(--sidebar-ink); }
.site-header .brand-mark { background: var(--jade); color: var(--sidebar-bg); }
.main-nav { position: fixed; top: 58px; bottom: 0; left: 0; z-index: 23; display: flex; width: 188px; align-items: stretch; justify-content: flex-start; flex-direction: column; gap: 3px; overflow-y: auto; background: var(--sidebar-bg); padding: 14px 8px; }
.main-nav a, .main-nav button { display: flex; min-height: 34px; align-items: center; justify-content: flex-start; border-radius: 8px; color: color-mix(in srgb, var(--sidebar-ink) 82%, var(--sidebar-bg)); font-size: 12px; text-align: left; }
.main-nav a, .main-nav button { gap: 10px; }
.main-nav .nav-icon { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.main-nav .nav-label { min-width: 0; padding: 0; border-radius: 0; color: inherit; font: inherit; opacity: 1; cursor: inherit; white-space: nowrap; }
.main-nav a:hover:not(.is-active), .main-nav button:hover:not(:disabled):not(.is-active) { color: var(--sidebar-ink); background: color-mix(in srgb, var(--menu-bg) 48%, var(--sidebar-bg)); }
.main-nav a:focus-visible, .main-nav button:focus-visible { outline: 2px solid var(--jade); outline-offset: 2px; }
.main-nav .is-active { background: var(--menu-bg); color: var(--menu-ink); }
.main-nav .quick-presets { flex-wrap: wrap; justify-content: flex-start; margin-top: 10px; }
.main-nav .nav-messages { justify-content: flex-start; }
.main-nav .nav-messages .nav-icon { margin-right: 0; }
.main-nav .nav-messages strong { margin-left: auto; }
.main-nav .sidebar-collapse-toggle { margin-top: auto; border-top: 1px solid color-mix(in srgb, var(--sidebar-ink) 14%, transparent); border-radius: 0 0 8px 8px; color: var(--sidebar-ink); }
.mobile-nav-account { display: none; }
.nav-messages strong { min-width: 19px; border-radius: 999px; background: #dc405a; color: #fff; font: 800 10px/1 Manrope, sans-serif; padding: 4px 5px; text-align: center; }
.nav-messages strong[hidden] { display: none; }
.mobile-menu-toggle { display: none; }
main { width: calc(100% - 188px); margin-left: 188px; }
footer { margin-left: 188px; }

/* A status dot is separate from personal priority strips; the eye follows the row. */
.product-row .product-cell { border-left: 0; }
.status-indicator-cell { width: 30px; padding: 0 4px; text-align: center; }
.status-indicator-cell .row-status-dot { width: 11px; height: 11px; box-shadow: 0 0 0 3px color-mix(in srgb, var(--surface) 75%, transparent); }
.status-cell .product-status-received, .product-preview-status.status-key-received {
  border: 1px solid color-mix(in srgb, #3b82f6 45%, var(--line));
  animation: new-delivery-attention 3s ease-in-out infinite;
}
.product-status-dot-received { animation: new-delivery-dot-attention 3s ease-in-out infinite; }
@keyframes new-delivery-attention {
  0%, 46%, 100% { box-shadow: 0 0 0 0 rgb(59 130 246 / 0%); }
  18% { box-shadow: 0 0 0 6px rgb(59 130 246 / 20%); }
}
@keyframes new-delivery-dot-attention {
  0%, 46%, 100% { box-shadow: 0 0 0 0 rgb(59 130 246 / 0%); }
  18% { box-shadow: 0 0 0 6px rgb(59 130 246 / 30%); }
}
.product-status-dot-unknown { background: #8d9695; }
.product-row .status-cell .status-badge { display: inline-flex; width: max-content; max-width: none; align-items: center; white-space: nowrap; }
.status-cell { width: 136px; }
.product-cell { width: 226px; }
.product-row [data-column="label_name"], th[data-column="label_name"] { width: 140px; }
.release-type-cell, th[data-column="release_type"] { width: 64px; }
.track-count-cell { width: 48px; padding-left: 4px; padding-right: 4px; }
.release-type-cell, th[data-column="release_type"], .explicit-cell { padding-left: 5px; padding-right: 5px; }
.upc { width: 124px; padding-left: 8px; font-size: 10px; }
.date, th[data-column="digital_release_date"] { width: 145px; }
.indicator-cell[data-column="distribution_scope"] { width: 132px; }
.indicator-cell[data-column="materials_state"] { width: 104px; }
.indicator-cell[data-column="service_presence"] { width: 142px; }
.smartlink-cell, th[data-column="smartlink"] { width: 76px; text-align: center; }
.smartlink-indicator { display: inline-grid; width: 26px; height: 26px; place-items: center; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); background: color-mix(in srgb, var(--line) 30%, var(--surface)); vertical-align: middle; }
.smartlink-indicator svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.smartlink-indicator.is-active { color: var(--jade); border-color: color-mix(in srgb, var(--jade) 40%, var(--line)); background: color-mix(in srgb, var(--jade) 10%, var(--surface)); text-decoration: none; }
.smartlink-indicator.is-active:hover { color: #fff; background: var(--jade); }
.service-column { text-align: center; }
.service-column .service-indicator { margin-inline: auto; }
.material-state-text.is-complete { color: #168a56; font-weight: 750; }
.material-state-text.is-review { color: #9b6418; font-weight: 750; }
.material-state-text.is-missing { color: #b42332; font-weight: 750; }
.count-cell { text-align: center; font-variant-numeric: tabular-nums; }
.indicator-cell[data-column="distribution_scope"],
.indicator-cell[data-column="materials_state"],
.indicator-cell[data-column="service_presence"] { padding-left: 6px; padding-right: 6px; }
.distributor-cell, th[data-column="distribution_provider"] { width: 136px; font-size: 10px; }
.licensor-cell, th[data-column="licensor"] { width: 122px; font-size: 10px; }
.marker-cell { width: 270px; }
.notes-cell { width: 96px; min-width: 96px; }
.expand-cell { width: 38px; padding-left: 4px; padding-right: 4px; }
.indicator-group { gap: 3px; }
.scope-flag { display: inline-grid; width: 34px; height: 18px; place-items: center; border-radius: 4px; color: #102326; font: 700 8px/1 Manrope, sans-serif; }
.scope-flag.is-dsp.is-active { background: #c8f542; }
.scope-flag.is-tiktok.is-active { background: #a9eee8; }
.scope-flag.is-meta.is-active { background: #bfd8ff; }
.scope-flag.is-video { width: auto; min-width: 36px; padding: 0 4px; }
.scope-flag.is-spotify.is-active { background: #1db954; color: #092715; }
.scope-flag.is-apple-music.is-active { background: #f4577a; color: #340817; }
.scope-flag.is-tidal.is-active { background: #172338; color: #fff; }
.scope-flag:not(.is-active) { background: color-mix(in srgb, var(--line) 54%, var(--surface)); color: var(--muted); }
.scope-flag.is-video.is-unknown { outline: 1px dashed color-mix(in srgb, var(--muted) 50%, transparent); outline-offset: -2px; }
.material-indicator { display: inline-grid; width: 22px; height: 22px; place-items: center; border-radius: 6px; color: #fff; }
.material-indicator svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; }
.material-indicator.is-active { background: #168a56; }
.material-indicator.is-pending { background: #c9912f; }
.material-indicator.is-missing { background: #c24743; }
.material-indicator.is-unknown { background: #aab3bd; }
.service-indicator { display: inline-grid; width: 20px; height: 20px; place-items: center; color: #c6cdd7; text-decoration: none; }
.service-indicator svg { width: 17px; height: 17px; fill: currentColor; }
.service-indicator.is-active[data-service="spotify"] { color: #168a45; }
.service-indicator.is-active[data-service="apple_music"] { color: #df4764; }
.service-indicator.is-active[data-service="tidal"] { color: #15223b; }
.service-indicator.is-active[data-service="deezer"] { color: #854bc6; }
.service-indicator.is-active[data-service="youtube_music"] { color: #d33b3b; }
.service-indicator.is-active:hover { filter: brightness(.78); }

.product-note-button.has-unread, .nav-messages:has(strong:not([hidden])) {
  animation: unread-message-attention 3.6s ease-in-out infinite;
}
@keyframes unread-message-attention {
  0%, 42%, 100% { box-shadow: 0 0 0 0 rgb(217 72 95 / 0%); }
  16% { box-shadow: 0 0 0 5px rgb(217 72 95 / 22%); }
}
@media (prefers-reduced-motion: reduce) {
  .status-cell .product-status-received, .product-preview-status.status-key-received,
  .product-status-dot-received, .product-note-button.has-unread,
  .nav-messages:has(strong:not([hidden])) { animation: none; }
}

@media (max-width: 760px) {
  .site-header { width: 100%; margin-left: 0; justify-content: space-between; }
  .site-header .brand { position: static; width: auto; height: auto; padding: 0; background: transparent; color: var(--header-ink); }
  .site-header .brand-logo { width: clamp(108px, 34vw, 138px); }
  .site-header .brand-logo-white { display: none; }
  .site-header .brand-logo-black { display: block; }
  .main-nav { top: 52px; right: 0; bottom: 0; left: auto; width: min(270px, 82vw); transform: translateX(105%); transition: transform .18s ease; box-shadow: -18px 0 30px rgb(0 0 0 / 16%); }
  body.menu-open .main-nav { transform: translateX(0); }
  .main-nav a, .main-nav button, .main-nav .nav-settings { display: flex; }
  .main-nav .nav-label { display: inline; }
  .main-nav .sidebar-collapse-toggle { display: none; }
  .main-nav .mobile-nav-account:not([hidden]) { display: grid; gap: 8px; margin-top: auto; padding: 14px 8px max(18px, env(safe-area-inset-bottom)); border-top: 1px solid color-mix(in srgb, var(--sidebar-ink) 18%, transparent); color: var(--sidebar-ink); }
  .mobile-nav-account span { display: block; padding: 0; color: var(--sidebar-ink); overflow-wrap: anywhere; font-size: 12px; line-height: 1.4; }
  .main-nav .mobile-nav-account button { width: 100%; justify-content: center; border: 1px solid color-mix(in srgb, var(--sidebar-ink) 25%, transparent); }
  .mobile-menu-toggle { display: inline-grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; order: 2; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); font-size: 21px; }
  .header-actions { min-width: 0; margin-left: auto; gap: 10px; }
  .header-person { order: 1; }
  .header-person strong { display: none; }
  .header-person .brand-mark { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; }
  .header-actions > .account-email, .header-actions > #signOut, .header-actions > .theme-toggle { display: none !important; }
  .header-actions > a.button { display: none; }
  html[data-theme="dark"] .site-header .brand-logo-black { display: none; }
  html[data-theme="dark"] .site-header .brand-logo-white { display: block; }
  main { width: 100%; margin-left: 0; }
  footer { margin-left: 0; }
}

@media (min-width: 761px) {
  .site-header, .site-header .brand, .main-nav, main, footer { transition: width .2s ease, margin-left .2s ease, padding .2s ease; }
  body.sidebar-collapsed .site-header { width: calc(100% - 64px); margin-left: 64px; }
  body.sidebar-collapsed .site-header .brand { width: 64px; justify-content: center; padding: 0; }
  body.sidebar-collapsed .site-header .brand-logo { width: 54px; }
  body.sidebar-collapsed .main-nav { width: 64px; align-items: center; padding: 14px 6px; }
  body.sidebar-collapsed .main-nav > a,
  body.sidebar-collapsed .main-nav > button { position: relative; width: 44px; min-height: 40px; justify-content: center; gap: 0; padding: 0; }
  body.sidebar-collapsed .main-nav .nav-icon { width: 19px; height: 19px; flex-basis: 19px; }
  body.sidebar-collapsed .main-nav .nav-label,
  body.sidebar-collapsed .main-nav .quick-presets { display: none; }
  body.sidebar-collapsed .main-nav .nav-messages strong { position: absolute; top: 1px; right: 1px; min-width: 15px; padding: 3px; font-size: 9px; }
  body.sidebar-collapsed .main-nav .sidebar-collapse-toggle .nav-icon { transform: rotate(180deg); }
  body.sidebar-collapsed main { width: calc(100% - 64px); margin-left: 64px; }
  body.sidebar-collapsed footer { margin-left: 64px; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header, .site-header .brand, .main-nav, main, footer { transition: none; }
}

/* Compact desktop catalog: keep controls above the sticky table header. */
.sidebar-account { display: none; }
@media (min-width: 761px) {
  body.catalog-app .site-header { height: 0; min-height: 0; padding: 0; border: 0; box-shadow: none; }
  body.catalog-app .site-header .header-actions, body.catalog-app .site-header .header-meta { display: none !important; }
  body.catalog-app .main-nav { padding-bottom: 8px; }
  body.catalog-app .main-nav .sidebar-collapse-toggle { margin-top: 0; }
  .main-nav .sidebar-account { display: grid; grid-template-columns: 30px minmax(0, 1fr) 28px; align-items: center; gap: 7px; margin-top: auto; padding: 10px 3px 7px; border-top: 1px solid color-mix(in srgb, var(--sidebar-ink) 18%, transparent); color: var(--sidebar-ink); }
  .sidebar-account .brand-mark { width: 30px; height: 30px; background: var(--jade); color: var(--sidebar-bg); }
  .sidebar-account-details { display: grid; min-width: 0; gap: 2px; }
  .sidebar-account-details strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 800 11px/1.2 Manrope, sans-serif; }
  .sidebar-account-details .account-email { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; opacity: .7; font-size: 9px; }
  .main-nav .sidebar-account button { width: 28px; height: 28px; min-height: 28px; justify-content: center; padding: 0; border: 1px solid color-mix(in srgb, var(--sidebar-ink) 25%, transparent); font-size: 17px; }
  .main-nav .sidebar-account button:hover { color: var(--sidebar-ink); }
  body.catalog-app main { padding-top: 6px; }
  .dashboard-metrics { grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)); }
  .catalog-heading { min-height: 42px; gap: 9px; padding: 7px 12px 5px; }
  .catalog-heading h1 { font-size: 18px; }
  .labels-visibility-toggle { min-height: 27px; padding: 3px 8px; }
  .catalog-heading-tools { flex: 1 1 auto; grid-template-columns: minmax(175px, 280px) minmax(210px, 300px) auto; justify-content: end; gap: 6px; }
  .catalog-search { min-width: 0; }
  .catalog-sort { min-width: 0; }
  .search-box, .sort-control { min-height: 32px; }
  .catalog-heading-tools .button { min-height: 32px; padding: 6px 11px; white-space: nowrap; }
  .filter-toolbar { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; padding: 4px 12px 6px; }
  .filter-toolbar label { min-width: 0; gap: 2px; font-size: 9px; line-height: 1; }
  .filter-toolbar select { min-height: 28px; padding: 0 6px; font-size: 11px; }
  .selection-bar { min-height: 30px; padding: 0 12px; }
  .table-wrap { max-height: max(340px, calc(100dvh - 150px)); }
  body.sidebar-collapsed .main-nav .sidebar-account { grid-template-columns: 1fr; justify-items: center; gap: 5px; width: 52px; padding: 8px 0 5px; }
  body.sidebar-collapsed .sidebar-account-details { display: none; }
  body.sidebar-collapsed .main-nav .sidebar-account button { width: 30px; min-height: 27px; }
}
@media (min-width: 761px) and (max-width: 1120px) {
  .catalog-heading { flex-wrap: wrap; }
  .catalog-heading-tools { width: 100%; grid-template-columns: minmax(130px, 1fr) minmax(180px, 1fr) auto; }
}

/* The desktop catalog controls share one compact gradient toolbar. */
.catalog-heading { min-height: 48px; padding: 7px 12px 6px; }
.catalog-heading-tools { width: 100%; display: grid; grid-template-columns: minmax(180px, 1.1fr) minmax(205px, 1.2fr) minmax(0, 4.6fr) auto auto; align-items: center; gap: 6px; }
.catalog-search, .catalog-sort { min-width: 0; }
.catalog-heading-tools .filter-toolbar { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; min-width: 0; padding: 0; }
.catalog-heading-tools .filter-toolbar label { display: block; min-width: 0; font-size: 0; line-height: 0; }
.catalog-heading-tools .filter-toolbar select { width: 100%; max-width: 100%; min-height: 32px; padding: 0 5px; font-size: 10px; line-height: normal; }
.catalog-heading-tools .labels-visibility-toggle { min-height: 32px; padding: 4px 9px; }
.catalog-heading-tools #openExport { min-height: 32px; padding: 6px 11px; white-space: nowrap; }

@media (min-width: 761px) and (max-width: 1350px) {
  .catalog-heading-tools { grid-template-columns: minmax(170px, 1fr) minmax(200px, 1fr) auto auto; }
  .catalog-heading-tools .catalog-search { grid-column: 1; grid-row: 1; }
  .catalog-heading-tools .catalog-sort { grid-column: 2; grid-row: 1; }
  .catalog-heading-tools .filter-toolbar { grid-column: 1 / -1; grid-row: 2; }
  .catalog-heading-tools .labels-visibility-toggle { grid-column: 3; grid-row: 1; }
  .catalog-heading-tools #openExport { grid-column: 4; grid-row: 1; }
}

@media (max-width: 760px) {
  .catalog-heading { padding: 8px 10px; }
  .catalog-heading-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-heading-tools .catalog-search,
  .catalog-heading-tools .catalog-sort,
  .catalog-heading-tools .filter-toolbar { grid-column: 1 / -1; }
  .catalog-heading-tools .filter-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-heading-tools .labels-visibility-toggle,
  .catalog-heading-tools #openExport { width: 100%; min-height: 34px; }
}
