#annotation-selection-box { position: absolute; z-index: 17; pointer-events: none; box-sizing: border-box; border: 1.5px dashed #3b9cff; background: rgba(59,156,255,.15); }
#shape-context-menu { width: 230px; max-height: calc(100% - 16px); overflow-y: auto; }
.context-selection-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 8px 4px; border-bottom: 1px solid rgba(142,177,215,.2); font-size: 10px; }
.shape-label-popover.batch-class-picker { width: 184px; max-width: calc(100% - 16px); max-height: calc(100% - 16px); overflow-y: auto; }
.batch-class-picker .shape-label-batch-note { margin: 8px 2px 0; }

:root {
  color-scheme: dark;
  --bg: #070a10;
  --panel: rgba(13, 18, 28, .86);
  --panel-soft: rgba(255, 255, 255, .035);
  --line: rgba(255, 255, 255, .08);
  --text: #e6edf6;
  --muted: #8d9aab;
  --blue: #71b7ff;
  --violet: #b698ff;
  --emerald: #78d7b2;
  --amber: #f3c86b;
  font-synthesis: none;
  text-rendering: geometricPrecision;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; min-width: 980px; min-height: 100%; background: var(--bg); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body { background: radial-gradient(circle at 14% -5%, rgba(73, 132, 220, .15), transparent 28%), radial-gradient(circle at 90% 15%, rgba(112, 74, 207, .12), transparent 25%), var(--bg); }
button, input, select, textarea { font: inherit; }
button { color: inherit; cursor: pointer; }
button:disabled { cursor: default; opacity: .54; }
input, select { border: 1px solid var(--line); border-radius: 9px; padding: 10px 12px; color: var(--text); background: rgba(4, 8, 15, .72); outline: none; }
input:focus, select:focus { border-color: rgba(113, 183, 255, .72); box-shadow: 0 0 0 3px rgba(113, 183, 255, .12); }
h1, h2, h3, h4, p { margin: 0; }
h1 { font-size: 34px; letter-spacing: -.035em; }
h2 { font-size: 28px; letter-spacing: -.03em; }
h3 { font-size: 16px; letter-spacing: -.01em; }
h4 { margin-top: 7px; font-size: 14px; }
small { display: block; color: var(--muted); font-size: 11px; line-height: 1.45; }
.muted { color: var(--muted); }
.eyebrow { color: #718095; font-size: 10px; font-weight: 720; letter-spacing: .16em; text-transform: uppercase; }
.error { min-height: 18px; color: #ff8d89; font-size: 12px; }
.error-box { padding: 12px 14px; border: 1px solid rgba(255, 120, 120, .25); border-radius: 10px; color: #ffaaa6; background: rgba(137, 38, 38, .16); }

.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(430px, 100%); padding: 34px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.02) 45%), rgba(6, 10, 17, .88); box-shadow: 0 28px 70px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.1); }
.login-card h1 { margin: 12px 0 8px; }
.login-card .muted { margin-bottom: 26px; line-height: 1.55; }
.brand-logo { display: block; width: auto; height: auto; object-fit: contain; }
.login-brand-logo { width: 184px; margin-bottom: 22px; }
.stack-form { display: grid; gap: 14px; }
.stack-form label, .field-inline { display: grid; gap: 7px; color: #b4c0cf; font-size: 12px; }
.primary, .secondary, .ghost { border: 1px solid transparent; border-radius: 9px; padding: 10px 14px; font-weight: 680; font-size: 12px; transition: .18s ease; }
.primary { color: #08121e; border-color: rgba(131, 203, 255, .8); background: linear-gradient(135deg, #9bd4ff, #70b5f8); box-shadow: 0 8px 20px rgba(91, 166, 236, .18); }
.primary:hover { filter: brightness(1.08); transform: translateY(-1px); }
.secondary { border-color: rgba(113,183,255,.28); color: #bfe0ff; background: rgba(113,183,255,.1); }
.secondary:hover { background: rgba(113,183,255,.18); }
.ghost { border-color: var(--line); color: #abb8c8; background: transparent; }
.ghost:hover { color: var(--text); background: rgba(255,255,255,.06); }
.wide { width: 100%; margin-top: 3px; }

.topbar { height: 70px; display: flex; align-items: center; justify-content: space-between; padding: 0 28px; border-bottom: 1px solid var(--line); background: rgba(5, 8, 14, .86); backdrop-filter: blur(18px); }
.brand-lockup, .topbar-actions, .heading-actions, .toolbar-actions, .batch-actions { display: flex; align-items: center; gap: 12px; }
.brand-lockup strong { display: block; margin-top: 3px; font-size: 14px; }
.user-pill, .role-pill, .count-badge { padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; color: #c6d2df; background: rgba(255,255,255,.04); font-size: 11px; }
.role-pill { color: #adcbf1; border-color: rgba(113,183,255,.2); background: rgba(113,183,255,.08); }
.platform-layout { min-height: calc(100vh - 70px); display: grid; grid-template-columns: 230px minmax(0, 1fr); }
.sidebar { display: flex; flex-direction: column; padding: 24px 14px; border-right: 1px solid var(--line); background: rgba(5, 8, 14, .52); }
.sidebar-label { padding: 0 12px 10px; color: #5f6e80; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.side-nav { display: grid; gap: 4px; }
.nav-item { display: flex; align-items: center; gap: 11px; padding: 11px 12px; border: 1px solid transparent; border-radius: 9px; color: #8f9daf; background: transparent; text-align: left; font-size: 12px; }
.nav-item span { width: 18px; color: #64758a; text-align: center; font-size: 16px; }
.nav-item:hover { color: #d5e3f4; background: rgba(255,255,255,.04); }
.nav-item.active { color: #d7ebff; border-color: rgba(113,183,255,.19); background: linear-gradient(90deg, rgba(113,183,255,.15), rgba(113,183,255,.035)); }
.nav-item.active span { color: var(--blue); }
.sidebar-footer { display: flex; gap: 7px; align-items: center; margin-top: auto; padding: 12px; color: #657589; font-size: 11px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--emerald); box-shadow: 0 0 12px var(--emerald); }
.platform-content { min-width: 0; padding: 36px clamp(22px, 4vw, 58px) 58px; overflow: hidden; }
.page-section { max-width: 1440px; margin: 0 auto; }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.page-heading h2 { margin: 7px 0 6px; }
.page-heading p { max-width: 620px; font-size: 13px; line-height: 1.55; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-bottom: 16px; }
.metric-card, .panel-card { border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.018) 44%), var(--panel); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 16px 44px rgba(0,0,0,.12); }
.metric-card { min-height: 136px; display: flex; flex-direction: column; padding: 20px; border-top-color: rgba(113,183,255,.35); }
.metric-card.violet { border-top-color: rgba(182,152,255,.48); }.metric-card.emerald { border-top-color: rgba(120,215,178,.48); }.metric-card.amber { border-top-color: rgba(243,200,107,.48); }
.metric-label { color: #8998aa; font-size: 12px; }.metric-card strong { margin: 16px 0 7px; color: #f1f7ff; font-size: 31px; letter-spacing: -.05em; }.metric-card small { font-size: 11px; }
#overview-metrics .metric-card { position: relative; border-top-color: var(--line); }
#overview-metrics .overview-metric-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
#overview-metrics .metric-label { min-height: 32px; }
#overview-metrics .overview-metric-value { display: flex; align-items: baseline; gap: 7px; }
#overview-metrics .overview-metric-value > span { color: var(--muted); font-size: 11px; }
#overview-metrics .overview-metric-info { position: static; }
#overview-metrics .overview-metric-info summary { display: grid; place-items: center; width: 20px; height: 20px; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); font-size: 11px; font-weight: 600; list-style: none; cursor: pointer; }
#overview-metrics .overview-metric-info summary::-webkit-details-marker { display: none; }
#overview-metrics .overview-metric-info[open] summary { color: var(--blue); background: var(--panel-soft); }
#overview-metrics .overview-metric-breakdown { position: absolute; z-index: 20; top: 48px; right: 16px; width: 270px; max-width: calc(100vw - 48px); padding: 16px; border: 1px solid var(--line); border-radius: 10px; color: var(--text); background: #121b29; box-shadow: 0 12px 32px rgba(0,0,0,.25); }
#overview-metrics .overview-metric-breakdown-title { margin-bottom: 10px; font-size: 12px; font-weight: 650; }
#overview-metrics .overview-metric-breakdown dl { margin: 0; font-size: 12px; }
#overview-metrics .overview-metric-breakdown dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 4px 0; }
#overview-metrics .overview-metric-breakdown dt { min-width: 0; }
#overview-metrics .overview-metric-breakdown dd { margin: 0; font-variant-numeric: tabular-nums; font-weight: 600; }
#overview-metrics .overview-metric-breakdown .overview-metric-breakdown-total { margin-top: 7px; padding-top: 10px; border-top: 1px solid var(--line); }
body.light-theme #overview-metrics .overview-metric-breakdown { color: #22364c; background: #ffffff; box-shadow: 0 10px 28px rgba(29,55,82,.12); }
.dashboard-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 16px; }
.panel-card { padding: 20px; }.panel-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }.panel-title-row h3 { margin-top: 5px; }.panel-title-row p { margin-top: 5px; font-size: 12px; }
.team-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; font-weight: 650; list-style: none; }
.team-date-filter { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-bottom: 16px; }
.team-date-filter label { display: grid; gap: 5px; font-size: 12px; color: var(--muted); }
.team-date-filter input, .team-date-filter select { width: auto; min-width: 145px; }
.team-date-filter small { align-self: center; font-size: 11px; color: var(--muted); }
.team-details > summary::-webkit-details-marker { display: none; }
.team-details > summary::after { content: "⌄"; color: var(--muted); }
.team-details[open] > summary::after { transform: rotate(180deg); }
.team-details > summary:focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; border-radius: 3px; }
.team-detail-body { padding-top: 18px; min-width: 0; }
.team-detail-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.team-detail-pagination small { margin-right: auto; }
.team-detail-retry { margin-left: 12px; }
.pipeline-bars { display: grid; gap: 17px; margin-top: 24px; }.pipeline-row { display: grid; grid-template-columns: 88px 1fr 28px; gap: 12px; align-items: center; color: #a1afc0; font-size: 11px; }.pipeline-row strong { color: #e5edf6; text-align: right; }.pipeline-track { height: 8px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.065); }.pipeline-track i { display: block; height: 100%; min-width: 3px; border-radius: inherit; background: var(--blue); }.pipeline-track i.violet { background: var(--violet); }.pipeline-track i.emerald { background: var(--emerald); }.pipeline-track i.amber { background: var(--amber); }.pipeline-track i.muted { background: #67768b; }
.activity-list { display: grid; gap: 2px; margin-top: 13px; }.activity-row { display: flex; justify-content: space-between; gap: 12px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.055); }.activity-row:last-child { border-bottom: 0; }.activity-row strong { display: block; font-size: 12px; }.activity-row > div:last-child { display: grid; justify-items: end; gap: 3px; }
.project-progress-card { margin-top: 16px; }.project-progress-list { display: grid; gap: 18px; margin-top: 18px; }.progress-row { display: grid; gap: 8px; }.progress-heading { display: flex; justify-content: space-between; gap: 12px; align-items: center; }.progress-heading strong { font-size: 12px; }.progress-heading span { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; }.progress-track { height: 8px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.06); }.progress-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), var(--emerald)); }
.dashboard-batch-table { overflow: visible; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.018); }.dashboard-batch-table-header, .dashboard-batch-row { display: grid; grid-template-columns: var(--dashboard-batch-column, minmax(520px,2.1fr)) var(--dashboard-project-column, minmax(180px,.75fr)) 68px 82px var(--dashboard-stages-column, minmax(250px,1.25fr)) 20px; min-width: 1px; gap: 16px; align-items: center; }.dashboard-batch-table-header { min-height: 45px; padding: 0 15px; border-bottom: 1px solid rgba(255,255,255,.07); color: #8294a9; font-size: 10px; font-weight: 720; letter-spacing: .09em; text-transform: uppercase; }.dashboard-column-header { position: relative; display: flex; min-width: 0; align-items: center; }.dashboard-column-resizer { position: absolute; z-index: 2; top: -12px; right: -8px; bottom: -12px; width: 16px; cursor: col-resize; touch-action: none; }.dashboard-column-resizer::after { position: absolute; top: 12px; bottom: 12px; left: 7px; width: 2px; border-radius: 2px; background: rgba(113,183,255,.32); content: ""; transition: background .15s ease; }.dashboard-column-resizer:hover::after, .dashboard-column-resizer:focus-visible::after, .dashboard-column-resizing .dashboard-column-resizer::after { background: var(--blue); }.dashboard-column-resizing { cursor: col-resize; user-select: none; }.dashboard-table-header-button { display: inline-flex; width: fit-content; align-items: center; gap: 5px; padding: 4px 0; border: 0; color: inherit; background: transparent; font: inherit; letter-spacing: inherit; text-transform: inherit; }.dashboard-table-header-button:hover { color: #c5ddf5; }.overview-project-filter { width: fit-content; }.overview-project-filter .dashboard-filter-menu { left: 0; right: auto; }.dashboard-batch-row { width: 100%; min-height: 61px; padding: 10px 15px; border: 0; border-bottom: 1px solid rgba(255,255,255,.06); color: inherit; background: transparent; text-align: left; transition: background .16s ease; }.dashboard-batch-row:last-child { border-bottom: 0; }.dashboard-batch-row:hover { background: rgba(113,183,255,.08); }.dashboard-batch-name, .dashboard-batch-project { display: grid; min-width: 0; gap: 4px; }.dashboard-batch-name strong { overflow: hidden; color: #cfdeed; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.dashboard-batch-project strong { overflow: hidden; color: #cfdeed; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.dashboard-batch-project .status-chip { width: fit-content; padding: 2px 6px; font-size: 8px; }.dashboard-batch-task-count, .dashboard-batch-percent { color: #c8d9ea; font-size: 12px; }.dashboard-batch-percent { color: #8ec8ff; }.dashboard-batch-progress { display: grid; min-width: 0; gap: 5px; }.dashboard-batch-progress small { overflow: hidden; color: #7b8fa5; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.dashboard-batch-open { color: #85bdf4; font-size: 19px; font-weight: 500; text-align: right; }.dashboard-batch-row .batch-stage-bar { height: 7px; }
.customer-dashboard-batch-table { overflow: hidden; }
.customer-dashboard-batch-table .dashboard-batch-table-header,
.customer-dashboard-batch-table .dashboard-batch-row { grid-template-columns: minmax(0, 2fr) minmax(86px, .7fr) 50px 70px minmax(180px, 1.7fr); }
.customer-dashboard-batch-table .dashboard-batch-row { cursor: default; }
.customer-dashboard-batch-table .dashboard-batch-row:hover { background: transparent; }
.split-layout { display: grid; grid-template-columns: minmax(245px, .37fr) minmax(0, 1fr); gap: 16px; align-items: start; }.project-list-card { min-height: 440px; }.project-list { display: grid; gap: 6px; margin-top: 17px; }.project-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 11px; border: 1px solid transparent; border-radius: 10px; color: var(--text); background: transparent; text-align: left; }.project-row:hover { background: rgba(255,255,255,.045); }.project-row.active { border-color: rgba(113,183,255,.25); background: rgba(113,183,255,.1); }.project-row strong { display: block; max-width: 170px; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.project-row small { margin-top: 4px; }.project-detail-card { min-height: 440px; }.create-project-card { margin-top: 16px; }.inline-form { display: flex; gap: 10px; margin-top: 18px; }.inline-form input { flex: 1; min-width: 0; }.detail-divider { height: 1px; margin: 20px 0; background: var(--line); }.batch-form { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 14px; }.batch-form .check-label { grid-column: 1 / -1; }.check-label { display: flex; align-items: center; gap: 8px; color: #98a7b9; font-size: 11px; }.check-label input, .check-col input { accent-color: var(--blue); }.compact-toolbar { margin-top: 14px; }.toolbar-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.compact-toolbar { justify-content: flex-start; }.object-picker { max-height: 288px; margin-top: 10px; overflow: auto; }.batch-list { display: grid; gap: 7px; margin-top: 14px; }.batch-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 11px 12px; border: 1px solid rgba(255,255,255,.065); border-radius: 9px; background: rgba(255,255,255,.025); }.batch-row strong { display: block; font-size: 12px; }.batch-row small { margin-top: 3px; }
.table-wrap { overflow: auto; margin-top: 16px; border: 1px solid rgba(255,255,255,.055); border-radius: 10px; }.table-wrap.small-table { margin-top: 0; border: 0; border-radius: 0; } table { width: 100%; border-collapse: collapse; text-align: left; } th { padding: 11px 12px; color: #718096; border-bottom: 1px solid var(--line); font-size: 10px; font-weight: 720; letter-spacing: .11em; text-transform: uppercase; white-space: nowrap; } td { padding: 12px; border-bottom: 1px solid rgba(255,255,255,.045); color: #bbc7d5; font-size: 12px; vertical-align: middle; } tbody tr:last-child td { border-bottom: 0; } tbody tr:hover td { background: rgba(255,255,255,.025); }.object-key { max-width: 430px; overflow: hidden; color: #bdcde0; text-overflow: ellipsis; white-space: nowrap; }.table-subline { max-width: 390px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.check-col { width: 34px; text-align: center; }.empty-cell { padding: 34px; color: var(--muted); text-align: center; }.users-table { margin-top: 20px; }
.folder-group-row > td { padding: 0; }
.folder-group-row details { border-bottom: 1px solid rgba(255,255,255,.045); }
.folder-group-row details[open] { background: rgba(255,255,255,.018); }
.folder-group-row summary { display: flex; align-items: center; gap: 9px; padding: 12px; color: #c8d6e5; cursor: pointer; list-style: none; }
.folder-group-row summary::-webkit-details-marker { display: none; }
.folder-glyph { color: var(--blue); font-size: 13px; }
.folder-count { margin-left: auto; color: #718096; font-size: 10px; }
.folder-object-list { border-top: 1px solid rgba(255,255,255,.045); }
.folder-object-row { display: grid; grid-template-columns: 34px minmax(180px, 1fr) 110px minmax(130px, .7fr); gap: 12px; align-items: center; min-height: 42px; padding: 7px 12px; border-bottom: 1px solid rgba(255,255,255,.035); color: #bbc7d5; font-size: 11px; }
.folder-object-row:last-child { border-bottom: 0; }
.folder-object-row:hover { background: rgba(255,255,255,.025); }
.folder-object-row .check-col { width: auto; }
.data-folder-list .folder-object-row { grid-template-columns: minmax(180px, 1fr) 90px 110px minmax(120px, .7fr) minmax(120px, .7fr); }
.projects-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.projects-heading h2 { margin: 7px 0 6px; }
.projects-heading p { max-width: 680px; font-size: 13px; line-height: 1.55; }
.project-flat-list { border-top: 1px solid var(--line); }
.project-flat-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 78px; padding: 15px 4px; border-bottom: 1px solid rgba(255,255,255,.075); cursor: pointer; transition: background .18s ease, padding .18s ease; }
.project-flat-row:hover, .project-flat-row.active { padding-left: 12px; padding-right: 12px; background: rgba(113,183,255,.055); }
.project-flat-main { min-width: 0; }
.project-flat-main strong { display: block; color: #e5edf6; font-size: 14px; }
.project-flat-main small { max-width: 660px; margin-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-flat-metrics { display: flex; align-items: center; justify-content: flex-end; gap: 16px; color: #8f9daf; font-size: 11px; white-space: nowrap; }
.project-chevron { color: #6f8197; font-size: 21px; line-height: 1; }
.project-detail-inline { margin-top: 28px; padding: 22px 4px 0; border-top: 1px solid var(--line); }
.project-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.project-detail-heading h3 { margin-top: 7px; font-size: 19px; }
.project-detail-heading p { margin-top: 5px; font-size: 12px; }
.project-detail-actions { display: flex; align-items: center; gap: 9px; }
.project-detail-meta { margin-top: 14px; color: #8291a4; font-size: 11px; }
.project-batches-heading { display: flex; align-items: center; gap: 14px; margin-top: 30px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.07); }
.project-batch-list { border-bottom: 1px solid rgba(255,255,255,.07); }
.project-batch-row { border-bottom: 1px solid rgba(255,255,255,.06); }
.project-batch-row:last-child { border-bottom: 0; }
.project-batch-line { display: grid; grid-template-columns: minmax(270px, 1fr) minmax(220px, 1.2fr) 150px max-content max-content; gap: 14px; align-items: center; min-height: 58px; }
.batch-expand { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 10px 0; border: 0; color: #d7e3ef; background: transparent; text-align: left; }
.batch-caret { width: 13px; color: var(--blue); font-size: 18px; }
.batch-name { overflow: hidden; font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.batch-path { overflow: hidden; color: #73849a; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.batch-count { color: #8494a8; font-size: 10px; white-space: nowrap; }
.batch-task-list { margin: 0 0 12px 22px; border-left: 1px solid rgba(113,183,255,.2); }
.batch-task-row { display: grid; grid-template-columns: 100px minmax(0, 1fr) 100px 130px; gap: 12px; align-items: center; min-height: 38px; padding: 7px 12px; border-bottom: 1px solid rgba(255,255,255,.035); color: #b8c5d4; font-size: 11px; }
.batch-task-row:last-child { border-bottom: 0; }
.task-number { color: #7e9abb; font-size: 10px; letter-spacing: .08em; }
.task-key { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-registry-header { display: grid; grid-template-columns: minmax(220px, 1.55fr) 110px minmax(130px, .85fr) 100px 145px 20px; gap: 18px; align-items: center; min-height: 37px; padding: 0 4px; border-bottom: 1px solid var(--line); color: #718298; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.project-flat-row { display: grid; grid-template-columns: minmax(220px, 1.55fr) 110px minmax(130px, .85fr) 100px 145px 20px; gap: 18px; align-items: center; justify-content: initial; min-height: 78px; padding: 15px 4px; }
.project-flat-row:hover, .project-flat-row.active { padding-left: 12px; padding-right: 12px; }
.project-flat-status, .project-flat-frames, .project-flat-owner { min-width: 0; }
.project-flat-progress { display: flex; align-items: center; gap: 8px; min-width: 0; color: #8f9daf; font-size: 10px; }
.project-flat-progress .progress-track { flex: 1; height: 6px; }
.project-flat-progress .progress-track i { min-width: 0; }
.project-flat-frames strong, .project-flat-owner strong { display: block; color: #dce6f0; font-size: 12px; }
.project-flat-frames small, .project-flat-owner small { display: block; margin-top: 4px; }
.detail-loading { min-height: 260px; display: grid; place-items: center; color: var(--muted); }
.project-detail-topline { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 28px; }
.detail-back { padding: 4px 0; border: 0; color: #9bb8d4; background: transparent; font-size: 12px; }
.detail-back:hover { color: #e6f1fb; }
.detail-top-actions { display: flex; align-items: center; gap: 9px; }
.project-detail-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 23px; border-bottom: 1px solid var(--line); }
.project-detail-header h2 { margin-top: 8px; font-size: 26px; letter-spacing: -.02em; }
.project-detail-header p { max-width: 700px; margin-top: 6px; font-size: 12px; }
.project-detail-summary { display: grid; justify-items: end; gap: 5px; text-align: right; }
.project-detail-summary strong { color: #e6f0f9; font-size: 17px; }
.project-detail-summary small { color: #8291a4; font-size: 10px; }
.project-meta-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding: 19px 0; border-bottom: 1px solid rgba(255,255,255,.065); }
.project-meta-grid div { display: grid; gap: 6px; }
.project-meta-grid span { color: #718298; font-size: 10px; text-transform: uppercase; letter-spacing: .07em; }
.project-meta-grid strong { overflow: hidden; color: #c9d6e4; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.project-progress-wide { padding: 20px 0 8px; }
.project-progress-wide .progress-heading { color: #8f9daf; font-size: 11px; }
.project-progress-wide .progress-heading strong { color: #dce6f0; }
.project-progress-wide .progress-track { height: 8px; margin-top: 9px; }
.project-stage-tabs { display: flex; gap: 4px; margin-top: 23px; border-bottom: 1px solid var(--line); overflow-x: auto; }
.project-stage-tab { display: inline-flex; align-items: center; gap: 8px; min-height: 43px; padding: 0 12px; border: 0; border-bottom: 2px solid transparent; color: #8191a5; background: transparent; font-size: 11px; white-space: nowrap; }
.project-stage-tab:hover { color: #d5e3ef; }
.project-stage-tab.active { border-bottom-color: var(--blue); color: #e1edf8; }
.project-stage-tab strong { display: grid; min-width: 20px; height: 20px; place-items: center; border-radius: 999px; color: #a9bad0; background: rgba(255,255,255,.07); font-size: 10px; }
.project-stage-tab.active strong { color: #bfe1ff; background: rgba(113,183,255,.17); }
.project-batch-strip { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 23px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(255,255,255,.022); }
.project-batch-strip strong { display: block; margin-top: 5px; color: #c7d4e2; font-size: 11px; }
.batch-filter { min-width: 260px; }
.project-task-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-top: 27px; margin-bottom: 10px; }
.project-task-heading h3 { margin-top: 6px; font-size: 16px; }
.project-task-table-wrap { border-radius: 10px; }
.project-task-table { min-width: 900px; }
.project-task-table th { height: 40px; }
.project-task-table td { min-height: 53px; }
.project-task-table td > strong { display: block; color: #d6e2ed; font-size: 11px; }
.project-task-table td .stage-chip { display: block; margin-top: 6px; }
.modal-backdrop { position: fixed; z-index: 50; inset: 0; display: grid; place-items: center; padding: 28px; background: rgba(2,5,10,.76); backdrop-filter: blur(12px); }
.modal-window { width: min(1080px, 100%); max-height: min(900px, calc(100vh - 56px)); overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.02) 45%), #0b111b; box-shadow: 0 30px 90px rgba(0,0,0,.55); }
.modal-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px 24px 18px; border-bottom: 1px solid var(--line); }
.modal-heading h3 { margin-top: 7px; font-size: 20px; }
.modal-heading p { max-width: 650px; margin-top: 6px; font-size: 12px; }
.modal-close { width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 8px; color: #aab8c9; background: transparent; font-size: 22px; line-height: 1; }
.modal-close:hover { color: #fff; background: rgba(255,255,255,.07); }
.project-create-form { display: flex; flex-direction: column; max-height: calc(100vh - 150px); }
.project-form-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 18px 24px; }
.project-form-fields label { display: grid; gap: 7px; color: #aebdce; font-size: 11px; }
.tree-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 24px; border-top: 1px solid rgba(255,255,255,.06); border-bottom: 1px solid rgba(255,255,255,.06); }
.tree-toolbar strong { display: block; color: #d9e4ef; font-size: 12px; }
.tree-toolbar small { margin-top: 3px; }
.tree-actions { display: flex; gap: 8px; }
.s3-tree { flex: 1 1 auto; min-height: 240px; max-height: 490px; overflow: auto; padding: 10px 24px 16px; }
.tree-folder { border-bottom: 1px solid rgba(255,255,255,.045); }
.tree-folder summary { display: flex; align-items: center; gap: 9px; min-height: 38px; padding: 5px 4px; color: #cdd9e5; cursor: pointer; list-style: none; }
.tree-folder summary::-webkit-details-marker { display: none; }
.tree-folder summary:hover, .tree-file:hover { background: rgba(255,255,255,.035); }
.tree-folder-check, .tree-file-check { flex: 0 0 auto; accent-color: var(--blue); }
.tree-folder-icon { width: 13px; color: #799bc0; font-size: 16px; }
.tree-folder[open] > summary .tree-folder-icon { transform: rotate(90deg); }
.tree-folder-name { font-size: 12px; font-weight: 650; }
.tree-folder-count { margin-left: auto; color: #72849a; font-size: 10px; }
.tree-imported { min-width: 57px; padding: 3px 6px; border-radius: 99px; color: #a7e6ce; background: rgba(120,215,178,.1); font-size: 9px; text-align: center; }
.tree-imported.partial { color: #f0d58e; background: rgba(243,200,107,.1); }
.tree-children { margin-left: 23px; border-left: 1px solid rgba(113,183,255,.15); padding-left: 12px; }
.tree-file { display: grid; grid-template-columns: 18px 13px minmax(140px, .5fr) minmax(260px, 1fr) max-content; gap: 7px; align-items: center; min-height: 34px; padding: 4px 6px; color: #b7c4d2; cursor: pointer; font-size: 11px; }
.tree-file.already-imported { color: #8190a1; }
.tree-file-icon { color: #738aa5; text-align: center; }
.tree-file-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tree-file-path { overflow: hidden; color: #65768a; text-overflow: ellipsis; white-space: nowrap; }
.tree-file-status { color: #84c9ae; font-size: 10px; white-space: nowrap; }
.tree-load-more { margin: 9px 0 12px 6px; }
.tree-folder-error { margin: 9px 4px; }
.tree-prelabel-badge { justify-self: start; padding: 3px 7px; border: 1px solid rgba(120,215,178,.32); border-radius: 999px; color: #8bdfbe; background: rgba(120,215,178,.1); font-size: 10px; white-space: nowrap; }
.tree-prelabel-badge.warning { border-color: rgba(243,200,107,.4); color: #f3d78d; background: rgba(243,200,107,.1); }
.project-import-preview { display: grid; gap: 5px; max-height: 155px; overflow: auto; padding: 12px 24px; border-top: 1px solid var(--line); color: var(--text); background: rgba(113,183,255,.045); font-size: 12px; }
.project-import-preview strong { font-size: 13px; }
.project-import-preview ul { margin: 4px 0 0; padding-left: 18px; color: #f2c28d; line-height: 1.5; overflow-wrap: anywhere; }
.tree-loading { padding: 30px 6px; color: #8190a3; font-size: 12px; }
.modal-footer { display: flex; align-items: center; justify-content: flex-end; gap: 9px; min-height: 66px; padding: 13px 24px; border-top: 1px solid var(--line); }
.modal-footer .error { flex: 1; }
.stage-chip { display: inline-flex; align-items: center; width: max-content; padding: 4px 7px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; color: #afbdce; background: rgba(255,255,255,.045); font-size: 10px; line-height: 1; white-space: nowrap; }
.stage-todo { color: #d0d8e2; border-color: rgba(160,175,195,.25); background: rgba(160,175,195,.08); }
.stage-annotation { color: #b9dcff; border-color: rgba(113,183,255,.28); background: rgba(113,183,255,.1); }
.stage-qc { color: #d4c6ff; border-color: rgba(182,152,255,.28); background: rgba(182,152,255,.1); }
.stage-finished { color: #a9ead0; border-color: rgba(120,215,178,.28); background: rgba(120,215,178,.1); }
.stage-delivery, .stage-customer_review { color: #f5db99; border-color: rgba(243,200,107,.28); background: rgba(243,200,107,.1); }
.stage-accepted_delivery { color: #a8e7c4; border-color: rgba(111,207,159,.32); background: rgba(65,175,116,.13); }
.stage-select { min-width: 106px; padding: 5px 7px; border-radius: 7px; color: #c2d0de; border-color: rgba(255,255,255,.12); background: rgba(6,10,17,.72); font-size: 10px; }
.platform-task-table .stage-chip { margin-top: 5px; }
.status-chip { display: inline-flex; align-items: center; width: max-content; padding: 4px 7px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; color: #afbdce; background: rgba(255,255,255,.045); font-size: 10px; line-height: 1; white-space: nowrap; }.status-chip.published, .status-chip.submitted, .status-chip.available { color: #a9ead0; border-color: rgba(120,215,178,.23); background: rgba(120,215,178,.1); }.status-chip.claimed { color: #cabaff; border-color: rgba(182,152,255,.25); background: rgba(182,152,255,.1); }.status-chip.draft, .status-chip.unpublished { color: #f2d58c; border-color: rgba(243,200,107,.22); background: rgba(243,200,107,.08); }.status-chip.admin { color: #a9d4ff; border-color: rgba(113,183,255,.22); background: rgba(113,183,255,.08); }
.annotator-callout { display: flex; gap: 13px; align-items: flex-start; margin-bottom: 18px; padding: 17px 18px; border: 1px solid rgba(113,183,255,.2); border-radius: 13px; background: linear-gradient(110deg, rgba(113,183,255,.11), rgba(113,183,255,.025)); }.callout-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: var(--blue); background: rgba(113,183,255,.15); }.annotator-callout strong { font-size: 13px; }.annotator-callout p { margin-top: 4px; color: #98a8ba; font-size: 12px; }.annotator-task-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 13px; }.annotator-task-card { min-height: 185px; display: flex; flex-direction: column; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.016)), var(--panel); }.task-card-top { display: flex; align-items: center; justify-content: space-between; }.task-id { color: #7991ad; font-size: 10px; font-weight: 720; letter-spacing: .12em; }.annotator-task-card h3 { margin-top: 24px; }.annotator-task-card p { max-width: 100%; margin-top: 5px; overflow: hidden; color: #8e9cae; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.task-card-footer { display: flex; align-items: end; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 18px; }.task-card-footer small { max-width: 130px; }
.empty-state { display: grid; place-items: center; min-height: 280px; color: var(--muted); text-align: center; }.empty-state.compact { min-height: 120px; }.empty-state.wide { min-height: 220px; border: 1px dashed var(--line); border-radius: 13px; }.hint-text { margin-top: 8px; color: #748398; font-size: 11px; line-height: 1.5; }
.work-queue-list { display: grid; gap: 22px; max-width: 1180px; }.work-task-group { border-top: 1px solid var(--line); }.work-task-group-heading { display: flex; align-items: end; justify-content: space-between; padding: 14px 0 10px; }.work-task-group-heading h3 { display: flex; align-items: center; gap: 8px; margin: 0; color: #d5e2f2; font-size: 13px; font-weight: 650; }.work-task-group-heading h3 span { display: grid; min-width: 20px; height: 20px; place-items: center; padding: 0 5px; border-radius: 10px; color: #8fb8e6; background: rgba(113,183,255,.12); font-size: 10px; }.work-task-group-heading p { margin: 4px 0 0; color: #77899f; font-size: 11px; }.work-task-rows { border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }.work-task-row { display: grid; grid-template-columns: 30px minmax(220px, 1fr) 130px 96px; min-height: 64px; align-items: center; gap: 10px; padding: 8px 11px; border-bottom: 1px solid rgba(255,255,255,.06); background: rgba(255,255,255,.012); }.work-task-row:last-child { border-bottom: 0; }.work-task-row:hover { background: rgba(113,183,255,.055); }.work-task-row.done { opacity: .72; }.work-task-select { display: grid; place-items: center; }.work-task-select input { accent-color: var(--blue); }.work-task-main { min-width: 0; padding: 3px 0; border: 0; color: #d6e5f6; background: transparent; text-align: left; }.work-task-main:hover strong { color: #a9d4ff; }.work-task-main strong, .work-task-main span, .work-task-main small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.work-task-main strong { color: #c1daf5; font-size: 11px; letter-spacing: .04em; }.work-task-main span { margin-top: 4px; color: #d8e1ec; font-size: 12px; }.work-task-main small, .work-task-meta small { margin-top: 3px; color: #74869c; font-size: 10px; }.work-task-meta { display: grid; justify-items: start; gap: 1px; }.work-task-row > .secondary { justify-self: end; min-width: 82px; padding: 7px 9px; font-size: 10px; }.queue-empty { padding: 13px 0; color: #718399; font-size: 11px; }
.work-queue-tabs { display: flex; gap: 24px; margin: 2px 0 16px; border-bottom: 1px solid var(--line); }.work-queue-tabs button { position: relative; padding: 10px 0 11px; border: 0; color: #7f90a6; background: transparent; font-size: 12px; }.work-queue-tabs button:hover { color: #c3d6ea; }.work-queue-tabs button.active { color: #dcecff; }.work-queue-tabs button.active::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: #8fc2ff; content: ""; }.work-queue-tabs span { display: inline-grid; min-width: 18px; height: 18px; place-items: center; margin-left: 5px; padding: 0 4px; border-radius: 9px; color: #8faccc; background: rgba(255,255,255,.06); font-size: 9px; }.work-queue-tabs button.active span { color: #c5e0ff; background: rgba(113,183,255,.15); }.work-queue-list { gap: 0; }
.work-queue-heading { min-height: 54px; padding: 0 0 12px; }.work-queue-heading .muted { margin: 0; font-size: 11px; }.work-queue-heading .heading-actions { margin-left: auto; }.work-queue-list .work-task-group { border-top: 0; }.work-queue-list .queue-empty { padding: 20px 0; }
.work-task-list-header { display: flex; align-items: center; justify-content: space-between; padding: 0 10px 8px; color: #71849a; font-size: 10px; }.work-task-list-header label { display: inline-flex; align-items: center; gap: 6px; color: #a9bdd3; cursor: pointer; }.work-task-list-header input { accent-color: var(--blue); }.queue-pagination { display: flex; align-items: center; gap: 13px; margin-top: 13px; color: #8193a8; font-size: 10px; }.queue-pagination label { display: inline-flex; align-items: center; gap: 7px; }.queue-pagination select { min-width: 56px; padding: 5px 7px; border-color: rgba(255,255,255,.12); border-radius: 6px; color: #c3d1e0; background: rgba(255,255,255,.035); font-size: 10px; }.queue-page-actions { display: flex; gap: 6px; margin-left: auto; }.queue-page-actions .secondary { min-height: 29px; padding: 5px 9px; font-size: 10px; }.queue-bulk-actions { position: sticky; bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 14px; max-width: 1180px; margin-top: 14px; padding: 10px 12px; border: 1px solid rgba(113,183,255,.28); border-radius: 9px; color: #c2d9ef; background: rgba(13,27,43,.96); box-shadow: 0 12px 28px rgba(0,0,0,.28); font-size: 11px; }.queue-bulk-actions > div { display: flex; gap: 7px; }.queue-bulk-actions button { min-height: 30px; padding: 6px 10px; font-size: 10px; }

.customer-delivery-row, .customer-delivery-table-header { grid-template-columns: 30px minmax(220px, 1fr) 112px 150px auto; }.customer-delivery-meta { display: grid; justify-items: start; gap: 5px; }.customer-delivery-meta small { color: #74869c; font-size: 10px; white-space: nowrap; }.customer-rework-cell, .customer-activity-cell { display: grid; min-width: 0; align-items: center; justify-items: start; }.customer-activity-cell strong { color: #c4d6e8; font-size: 11px; font-weight: 650; line-height: 1.25; }.customer-activity-cell small { margin-top: 3px; }.customer-column-empty, .customer-delivery-time { color: #74869c; font-size: 10px; }.customer-delivery-actions { display: flex; justify-self: end; align-items: center; gap: 7px; white-space: nowrap; }.customer-delivery-actions .secondary { min-width: 82px; padding: 7px 9px; font-size: 10px; }.customer-delivery-table { border-top: 1px solid var(--line); }.customer-delivery-table-header { position: relative; z-index: 2; display: grid; min-height: 45px; align-items: center; gap: 10px; padding: 7px 12px; border-bottom: 1px solid var(--line); color: #8193a8; background: rgba(113,183,255,.035); font-size: 10px; font-weight: 650; }.customer-select-all { display: grid; place-items: center; }.customer-select-all input { accent-color: var(--blue); }.customer-column-filter { position: relative; min-width: 0; }.customer-column-filter > button { display: inline-flex; max-width: 100%; align-items: center; gap: 4px; padding: 5px 6px; border: 0; border-radius: 6px; color: #9eb1c6; background: transparent; font: inherit; white-space: nowrap; }.customer-column-filter > button:hover, .customer-column-filter > button[aria-expanded="true"] { color: #e4f1ff; background: rgba(113,183,255,.13); }.customer-column-filter-menu { position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; display: grid; min-width: 132px; gap: 3px; padding: 6px; border: 1px solid rgba(116,181,245,.32); border-radius: 9px; background: #172232; box-shadow: 0 13px 28px rgba(0,0,0,.32); }.customer-column-filter-menu[hidden] { display: none; }.customer-column-filter-menu button { min-height: 28px; padding: 5px 7px; border: 0; border-radius: 6px; color: #b8cadb; background: transparent; font-size: 10px; text-align: left; }.customer-column-filter-menu button:hover, .customer-column-filter-menu button.active { color: #eff7ff; background: rgba(113,183,255,.16); }
.task-status-time { display: grid; min-width: 0; align-items: center; justify-items: start; }.task-status-time strong { color: #c4d6e8; font-size: 11px; font-weight: 650; line-height: 1.25; }.task-status-time small { margin-top: 3px; color: #74869c; font-size: 10px; white-space: nowrap; }
#my-task-list .customer-delivery-table-header,
#my-task-list .customer-delivery-row { display: grid !important; grid-template-columns: 30px minmax(280px, 1fr) 150px 220px 390px !important; column-gap: 10px; }
#my-task-list .customer-hold-table-header,
#my-task-list .customer-hold-table .customer-hold-row { grid-template-columns: 30px minmax(240px, 1fr) minmax(130px, 180px) minmax(190px, 250px) minmax(120px, 150px) 270px !important; }
#my-task-list .customer-delivery-table-header > :nth-child(1),
#my-task-list .customer-delivery-row > :nth-child(1) { grid-column: 1; }
#my-task-list .customer-delivery-table-header > :nth-child(2),
#my-task-list .customer-delivery-row > :nth-child(2) { grid-column: 2; }
#my-task-list .customer-delivery-table-header > :nth-child(3),
#my-task-list .customer-delivery-row > :nth-child(3) { grid-column: 3; }
#my-task-list .customer-delivery-table-header > :nth-child(4),
#my-task-list .customer-delivery-row > :nth-child(4) { grid-column: 4; }
#my-task-list .customer-delivery-table-header > :nth-child(5),
#my-task-list .customer-delivery-row > :nth-child(5) { grid-column: 5; }
#my-task-list .customer-delivery-table-header > :nth-child(5) { justify-self: end; }
#my-task-list .customer-hold-table-header > :nth-child(6),
#my-task-list .customer-hold-table .customer-hold-row > :nth-child(6) { justify-self: end; }
#my-task-list .customer-hold-table-header > :nth-child(5) { justify-self: start; }
#my-task-list .customer-delivery-actions { width: 100%; justify-self: stretch; justify-content: flex-end; }
#my-task-list .customer-delivery-table-header--compact,
#my-task-list .customer-delivery-table--compact .customer-delivery-row { grid-template-columns: 30px minmax(280px, 1fr) 150px 390px !important; }
#my-task-list .customer-delivery-table-header--compact > :nth-child(4) { justify-self: center; }
#my-task-list .batch-rework-table .batch-rework-table-header,
#my-task-list .batch-rework-table .batch-rework-row { grid-template-columns: 30px minmax(280px, 1fr) 150px 220px minmax(220px, .75fr) 140px !important; }
#my-task-list .batch-rework-table .batch-rework-table-header > :nth-child(5) { justify-self: start; }
#my-task-list .batch-rework-table .batch-rework-table-header > :nth-child(6),
#my-task-list .batch-rework-table .batch-rework-row > :nth-child(6) { grid-column: 6; justify-self: end; }
.batch-rework-table .customer-rework-cell { display: flex; flex-wrap: wrap; gap: 5px; }
.batch-reject-reason-cell { width: 100%; min-width: 0; padding: 4px 6px; border: 0; border-radius: 6px; color: #e9b7ad; background: rgba(201,67,56,.06); font: inherit; font-size: 10px; line-height: 1.4; text-align: left; cursor: pointer; }
.batch-reject-reason-cell:hover { background: rgba(201,67,56,.14); }
.batch-reject-reason-cell span { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow-wrap: anywhere; }
.batch-rework-loading { padding: 16px; }
body.light-theme .batch-reject-reason-cell { color: #8d493e; background: #fff2ef; }
body.light-theme .batch-reject-reason-cell:hover { background: #ffe8e4; }
#my-task-list .customer-column-sort { display: inline-flex; align-items: center; gap: 5px; padding: 5px 6px; border: 0; border-radius: 6px; color: #9eb1c6; background: transparent; font: inherit; font-weight: 650; }.customer-column-sort:hover { color: #e4f1ff; background: rgba(113,183,255,.13); }
.customer-pass-button, .customer-reject-button { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; padding: 0 11px; border-radius: 9px; font-size: 11px; font-weight: 630; transition: .16s ease; }.customer-pass-button { border: 1px solid rgba(125,221,177,.34); color: #defbed; background: rgba(82,191,137,.19); box-shadow: 0 0 18px rgba(78,183,128,.11), inset 0 1px rgba(255,255,255,.1); }.customer-pass-button:hover:not(:disabled) { border-color: rgba(151,242,202,.62); background: rgba(82,191,137,.3); }.customer-reject-button { border: 1px solid rgba(245,111,98,.42); color: #ffc0b9; background: rgba(201,67,56,.14); }.customer-reject-button:hover:not(:disabled) { border-color: rgba(255,142,132,.72); color: #fff; background: rgba(201,67,56,.32); }

/* Shared application dialog — used instead of browser alert/confirm/prompt. */
.platform-dialog-choice-options.platform-dialog-choice-vertical { grid-template-columns: 1fr; }
.platform-dialog-choice-options.platform-dialog-choice-vertical button { min-height: 44px; padding: 10px 12px; font-size: 12px; }
.platform-dialog-backdrop { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(3,8,14,.64); backdrop-filter: blur(5px); }.platform-dialog-backdrop[hidden] { display: none !important; }.platform-dialog { width: min(480px, 100%); padding: 23px; border: 1px solid rgba(138,194,255,.28); border-radius: 15px; color: #dce8f5; background: linear-gradient(145deg, rgba(28,40,56,.98), rgba(15,23,34,.98)); box-shadow: 0 22px 70px rgba(0,0,0,.45); }.platform-dialog-heading h2 { margin: 7px 0 0; color: #edf5fd; font-size: 19px; letter-spacing: -.02em; }.platform-dialog-heading p { margin: 8px 0 0; color: #9eb0c5; font-size: 12px; line-height: 1.55; white-space: pre-wrap; }.platform-dialog-input { display: grid; gap: 7px; margin-top: 18px; color: #c8d8e8; font-size: 11px; font-weight: 630; }.platform-dialog-input textarea { width: 100%; min-height: 88px; resize: vertical; padding: 10px; border: 1px solid rgba(138,194,255,.25); border-radius: 9px; color: #e4effa; background: rgba(5,11,18,.48); font: inherit; line-height: 1.45; }.platform-dialog-input textarea:focus { outline: 0; border-color: rgba(117,183,255,.76); box-shadow: 0 0 0 3px rgba(85,154,234,.14); }.platform-dialog-error { margin: 9px 0 0; color: #ffaaa2; font-size: 11px; }.platform-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 21px; }.platform-dialog-actions > button { min-width: 88px; min-height: 34px; }.platform-dialog-danger { min-width: 88px; min-height: 34px; border: 1px solid rgba(245,111,98,.48); border-radius: 9px; color: #fff0ee; background: rgba(201,67,56,.76); font-size: 11px; font-weight: 630; }.platform-dialog-danger:hover { background: #c94338; }
.platform-dialog-input select { width: 100%; min-height: 39px; padding: 9px 10px; border: 1px solid rgba(138,194,255,.25); border-radius: 9px; color: #e4effa; background: rgba(5,11,18,.48); color-scheme: dark; font: inherit; }.platform-dialog-input select:focus { outline: 0; border-color: rgba(117,183,255,.76); box-shadow: 0 0 0 3px rgba(85,154,234,.14); }
.platform-dialog-choice-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }.platform-dialog-choice-options button { display: flex; min-height: 34px; align-items: center; gap: 7px; padding: 7px 8px; border: 1px solid rgba(138,194,255,.2); border-radius: 8px; color: #cad9e8; background: rgba(5,11,18,.32); font: inherit; font-size: 10px; font-weight: 620; line-height: 1.25; text-align: left; }.platform-dialog-choice-options button:hover { border-color: rgba(117,183,255,.48); background: rgba(85,154,234,.12); }.platform-dialog-choice-options button > span { width: 10px; height: 10px; flex: 0 0 10px; border: 1px solid rgba(177,209,239,.65); border-radius: 50%; }.platform-dialog-choice-options button.selected { border-color: rgba(112,187,250,.8); color: #edf7ff; background: rgba(62,144,222,.22); }.platform-dialog-choice-options button.selected > span { border: 3px solid #8dccff; background: #1f77c9; box-shadow: 0 0 0 1px rgba(8,24,40,.6); }
.platform-dialog-checklist-wrap { display: grid; gap: 8px; margin-top: 17px; color: #c8d8e8; font-size: 11px; font-weight: 630; }.platform-dialog-checklist { display: grid; max-height: 265px; overflow: auto; border: 1px solid rgba(138,194,255,.2); border-radius: 9px; background: rgba(5,11,18,.28); }.platform-dialog-checklist label { display: flex; gap: 9px; align-items: flex-start; padding: 10px; border-bottom: 1px solid rgba(138,194,255,.12); cursor: pointer; }.platform-dialog-checklist label:last-child { border-bottom: 0; }.platform-dialog-checklist label:hover { background: rgba(85,154,234,.12); }.platform-dialog-checklist input { width: 15px; height: 15px; margin: 1px 0 0; accent-color: #3b94ea; }.platform-dialog-checklist span { display: grid; min-width: 0; gap: 3px; }.platform-dialog-checklist strong { overflow: hidden; color: #e4effa; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.platform-dialog-checklist small { color: #93a8bd; font-size: 10px; font-weight: 500; line-height: 1.35; }

/* Annotator window */
.annotator-body { min-width: 1100px; overflow: hidden; }.annotator-topbar { height: 62px; padding: 0 18px; }.back-button { margin-right: 4px; }.annotator-layout { height: calc(100vh - 62px); display: grid; grid-template-columns: 238px minmax(0, 1fr) 206px; }.annotation-sidebar { overflow: auto; padding: 20px 16px; border-right: 1px solid var(--line); background: rgba(5,8,14,.62); }.right-annotation-sidebar { border-right: 0; border-left: 1px solid var(--line); }.annotation-sidebar h2 { margin-top: 8px; font-size: 18px; }.annotation-sidebar > p { margin-top: 5px; font-size: 11px; }.task-meta-block { display: grid; gap: 6px; margin-top: 22px; padding: 11px; border: 1px solid rgba(255,255,255,.06); border-radius: 9px; background: rgba(255,255,255,.025); }.task-meta-block span { color: #6f7e92; font-size: 10px; text-transform: uppercase; }.task-meta-block strong { overflow: hidden; color: #9fb2c8; font-size: 10px; font-weight: 500; line-height: 1.45; text-overflow: ellipsis; word-break: break-all; }.tool-section { margin-top: 23px; }.tool-section select { width: 100%; margin-top: 9px; }.tool-button { width: 100%; display: flex; align-items: center; gap: 8px; margin-top: 5px; padding: 9px 8px; border: 1px solid transparent; border-radius: 8px; color: #8f9daf; background: transparent; text-align: left; font-size: 12px; }.tool-button span { flex: 1; }.tool-button kbd { color: #536275; font-size: 10px; }.tool-button:hover { color: #d3deeb; background: rgba(255,255,255,.04); }.tool-button.active { color: #c9e5ff; border-color: rgba(113,183,255,.22); background: rgba(113,183,255,.11); }.shape-section { padding-top: 3px; }.shape-list { display: grid; gap: 4px; margin-top: 10px; }.shape-row { display: flex; align-items: center; gap: 8px; width: 100%; padding: 8px; border: 1px solid transparent; border-radius: 8px; color: #bdc9d7; background: transparent; text-align: left; }.shape-row:hover, .shape-row.active { border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.05); }.shape-row i { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; }.shape-row span { flex: 1; min-width: 0; }.shape-row strong { display: block; font-size: 11px; }.shape-row small { margin-top: 2px; }.shape-row em { color: #627287; font-size: 10px; font-style: normal; }.annotation-main { min-width: 0; display: flex; flex-direction: column; }.annotation-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 68px; padding: 11px 17px; border-bottom: 1px solid var(--line); background: rgba(8,12,20,.66); }.annotation-toolbar strong { display: block; font-size: 12px; }.annotation-toolbar .muted { display: block; margin-top: 3px; font-size: 11px; }.annotation-canvas-wrap { position: relative; min-height: 0; display: grid; flex: 1; place-items: center; padding: 22px; overflow: hidden; background: #030507; background-image: linear-gradient(rgba(125,145,170,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(125,145,170,.04) 1px, transparent 1px); background-size: 32px 32px; }.annotation-canvas-wrap canvas { max-width: 100%; max-height: 100%; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 18px 45px rgba(0,0,0,.4); cursor: crosshair; }.busy-indicator { position: absolute; top: 22px; left: 50%; padding: 9px 13px; border: 1px solid rgba(113,183,255,.28); border-radius: 99px; color: #c9e5ff; background: rgba(20,50,80,.85); font-size: 11px; transform: translateX(-50%); }.annotation-footer { display: flex; justify-content: space-between; padding: 9px 17px; border-top: 1px solid var(--line); color: #728196; font-size: 10px; }.workflow-step { display: flex; gap: 10px; align-items: center; margin-top: 17px; color: #657488; }.workflow-step > span { display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid var(--line); border-radius: 50%; font-size: 10px; }.workflow-step strong { display: block; color: #a5b1c0; font-size: 11px; }.workflow-step small { margin-top: 2px; }.workflow-step.done > span { color: var(--emerald); border-color: rgba(120,215,178,.35); background: rgba(120,215,178,.1); }.workflow-step.current > span { color: var(--blue); border-color: rgba(113,183,255,.42); background: rgba(113,183,255,.12); }.legend-card, .shortcut-card { margin-top: 34px; padding: 14px; border: 1px solid rgba(255,255,255,.07); border-radius: 10px; background: rgba(255,255,255,.025); }.legend-row { display: flex; gap: 8px; align-items: center; margin-top: 10px; color: #a9b6c6; font-size: 11px; }.label-dot { width: 8px; height: 8px; border-radius: 50%; }.label-dot.rust { background: #f27f6b; }.label-dot.dent { background: #f6c85f; }.label-dot.scratch { background: #66b7ff; }.label-dot.dust { background: #b18cff; }.shortcut-card { margin-top: 12px; }.shortcut-card strong { font-size: 11px; }.shortcut-card p { margin-top: 8px; color: #77869a; font-size: 10px; line-height: 1.55; }

/* Projects: visual hierarchy aligned with the Annotator QC project registry. */
.project-page-title { padding: 2px 0 27px; border-bottom: 1px solid rgba(255,255,255,.075); }
.project-page-title h2 { margin-top: 11px; color: #f4f7fb; font-size: 32px; font-weight: 650; letter-spacing: -.045em; }
.project-breadcrumb { color: #7185a0; font-size: 11px; font-weight: 650; letter-spacing: .22em; text-transform: uppercase; }
.project-registry-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 42px; padding-bottom: 17px; border-bottom: 1px solid rgba(255,255,255,.075); color: #91bee9; font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.project-new-link { display: inline-flex; align-items: center; gap: 8px; padding: 0; border: 0; color: #9bcaff; background: transparent; font-size: 13px; font-weight: 680; letter-spacing: 0; text-transform: none; }
.project-new-link:hover { color: #c8e2ff; }
.project-flat-list { margin-top: 32px; border: 0; }
.project-registry-card { overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: rgba(11,15,22,.5); box-shadow: inset 0 1px 0 rgba(255,255,255,.035); }
.project-registry-header { grid-template-columns: minmax(360px, 1.6fr) 150px minmax(180px, .85fr) 120px 165px 24px; gap: 22px; min-height: 78px; padding: 0 32px; border-bottom: 1px solid rgba(255,255,255,.075); color: #6d7f99; font-size: 11px; font-weight: 650; letter-spacing: .2em; background: rgba(255,255,255,.012); }
.project-flat-row { grid-template-columns: minmax(360px, 1.6fr) 150px minmax(180px, .85fr) 120px 165px 24px; gap: 22px; min-height: 176px; padding: 24px 32px; border-bottom: 1px solid rgba(255,255,255,.07); transition: background .18s ease; }
.project-flat-row:last-child { border-bottom: 0; }
.project-flat-row:hover, .project-flat-row.active { padding: 24px 32px; background: rgba(255,255,255,.026); }
.project-flat-main { display: flex; align-items: center; gap: 22px; }
.project-row-icon { display: grid; flex: 0 0 auto; width: 64px; height: 64px; place-items: center; border-radius: 15px; color: #c5deff; background: #172b42; font-size: 30px; font-weight: 300; line-height: 1; }
.project-accent-violet .project-row-icon { color: #ded0ff; background: #2a2542; }
.project-code { display: block; margin-bottom: 8px; color: #7388a4; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; letter-spacing: -.02em; }
.project-flat-main strong { color: #e8eef5; font-size: 19px; font-weight: 650; letter-spacing: -.025em; }
.project-flat-main small:not(.project-code) { max-width: 600px; margin-top: 7px; color: #8091aa; font-size: 12px; }
.project-status-chip { display: inline-flex; align-items: center; width: max-content; padding: 8px 12px; border: 1px solid rgba(113,183,255,.36); border-radius: 999px; color: #d4e5fb; background: rgba(66,122,184,.15); font-size: 12px; font-weight: 630; white-space: nowrap; }
.project-status-draft { border-color: rgba(243,200,107,.26); color: #f2d697; background: rgba(243,200,107,.08); }
.project-flat-progress { display: grid; grid-template-columns: auto minmax(70px, 1fr); gap: 12px; align-items: center; color: #8499b5; font-size: 12px; }
.project-flat-progress .progress-track { height: 12px; background: rgba(255,255,255,.085); }
.project-flat-progress .progress-track i { min-width: 0; background: #61a4fa; }
.project-accent-violet .project-flat-progress .progress-track i { background: #a685f1; }
.project-flat-frames strong { color: #e7edf5; font-size: 20px; font-weight: 600; }
.project-flat-frames small, .project-flat-owner small { margin-top: 5px; color: #72839b; font-size: 12px; }
.project-flat-owner strong { color: #8397b3; font-size: 13px; font-weight: 540; }
.project-chevron { color: #7188a2; font-size: 22px; }
.project-detail-page-title { margin-bottom: 40px; }
.project-detail-topline { min-height: 62px; margin: 0; padding-bottom: 17px; border-bottom: 1px solid rgba(255,255,255,.075); }
.detail-back { color: #8296b1; font-size: 15px; }
.detail-back:hover { color: #cbd9e8; }
.detail-top-actions { gap: 22px; }
.detail-status-button, .detail-publish-button { border: 0; background: transparent; font-size: 12px; font-weight: 650; }
.detail-status-button { color: #7d91a9; }
.detail-publish-button { color: #a8d1ff; }
.project-detail-header { align-items: flex-end; min-height: 216px; padding: 37px 0 40px; border-bottom: 0; }
.project-detail-header h2 { margin-top: 18px; color: #f5f8fc; font-size: 37px; font-weight: 650; letter-spacing: -.045em; }
.project-detail-header p { margin-top: 15px; color: #8192aa; font-size: 14px; }
.project-detail-header > div:first-child { min-width: 0; flex: 1; }
.project-detail-summary { width: 320px; min-width: 320px; flex: 0 0 320px; display: block; padding-bottom: 6px; }
.project-detail-summary > div:first-child { display: flex; justify-content: space-between; align-items: center; }
.project-detail-summary span { color: #8192aa; font-size: 12px; }
.project-detail-summary strong { color: #e6edf6; font-size: 17px; font-weight: 580; }
.project-detail-summary .progress-track { height: 12px; margin-top: 15px; background: rgba(255,255,255,.1); }
.project-detail-summary .progress-track i { min-width: 0; background: #61a4fa; }
.project-stage-tabs { gap: 28px; margin-top: 0; border-bottom: 1px solid rgba(255,255,255,.075); }
.project-stage-tab { min-height: 72px; padding: 0 1px; gap: 12px; border-bottom-width: 4px; color: #8295af; font-size: 15px; }
.project-stage-tab.active { color: #e6eef8; border-bottom-color: #8fc2ff; }
.project-stage-tab strong, .project-stage-tab.active strong { display: inline; min-width: 0; height: auto; padding: 0; border-radius: 0; color: #70839e; background: transparent; font-size: 13px; font-weight: 500; }
.project-stage-tab.active strong { color: #94b0d1; background: transparent; }
.project-task-heading { display: flex; align-items: center; min-height: 52px; margin: 30px 0 12px; }
.project-task-heading .muted { color: #71839c; font-size: 12px; }
.project-assignment-filter { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; padding: 3px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.025); }.project-assignment-filter > span { padding: 0 7px; color: #71839c; font-size: 10px; }.project-assignment-filter .assignment-filter-option { display: inline-flex; min-width: 58px; min-height: 27px; align-items: center; justify-content: center; padding: 5px 9px; border: 0; border-radius: 5px; color: #8295aa; background: transparent; font-size: 10px; font-weight: 650; line-height: 1; white-space: nowrap; }.project-assignment-filter .assignment-filter-option:hover { color: #c6dbef; background: rgba(113,183,255,.08); }.project-assignment-filter .assignment-filter-option.active { color: #d9ecff; background: rgba(113,183,255,.18); box-shadow: inset 0 0 0 1px rgba(113,183,255,.28); }
.project-table-filter { display: flex; align-items: center; }
.batch-filter { min-width: 290px; padding: 9px 12px; color: #aebdce; border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.035); font-size: 11px; }
.project-task-table-wrap { margin-top: 0; border-color: rgba(255,255,255,.1); border-radius: 22px; background: rgba(11,15,22,.5); }
.project-task-table { min-width: 980px; }
.project-task-table th { height: 78px; padding: 0 32px; border-bottom-color: rgba(255,255,255,.075); color: #6d7f99; font-size: 11px; font-weight: 650; letter-spacing: .2em; background: rgba(255,255,255,.012); }
.project-task-table td { height: 112px; padding: 22px 32px; border-bottom-color: rgba(255,255,255,.07); color: #a4b3c4; font-size: 14px; }
.project-task-table td > strong { color: #c4ddfb; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 14px; font-weight: 520; }
.project-task-table td:nth-child(2) > strong { display: block; max-width: 360px; overflow: hidden; color: #b6c7dc; font-family: inherit; font-size: 12px; font-weight: 560; text-overflow: ellipsis; white-space: nowrap; }
.project-task-table .table-subline { max-width: 320px; margin-top: 7px; color: #6f8199; font-size: 10px; }
.project-task-table .status-chip { padding: 7px 12px; font-size: 12px; }
.priority-normal { color: #aab9cd; font-size: 13px; }
.project-stage-control { display: flex; align-items: center; }
.project-stage-control .stage-select { min-width: 130px; padding: 8px 10px; border-radius: 9px; font-size: 11px; }

/* Platform shell ported from the Annotator QC UI reference. */
.reference-platform { display: flex; min-width: 1180px; height: 100vh; min-height: 0; overflow: hidden; background: #070a10; color: #dbe5f3; }
.reference-sidebar { position: relative; display: flex; width: 270px; height: 100vh; min-height: 0; flex: 0 0 270px; flex-direction: column; padding: 18px 14px 16px; overflow-y: auto; border-right: 1px solid rgba(255,255,255,.065); background: #090d15; }
.reference-brand-lockup { display: flex; align-items: center; gap: 10px; padding: 10px 12px 40px; }
.sidebar-brand-symbol { display: grid; width: 28px; height: 32px; flex: 0 0 28px; overflow: hidden; border-radius: 8px; }
.sidebar-brand-symbol img { width: auto; max-width: none; height: 32px; margin-left: -21px; object-fit: contain; }
.sidebar-brand-copy strong { display: block; color: #f5f8fc; font-size: 16px; font-weight: 700; letter-spacing: -.035em; }
.sidebar-brand-copy small { margin-top: 2px; color: #8fa0b7; font-size: 8px; font-weight: 700; letter-spacing: .16em; }
.reference-nav-label { padding: 0 13px 14px; color: #5e708a; font-size: 11px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.reference-manage-label { margin-top: 47px; }
.reference-nav { display: grid; gap: 7px; }
.reference-nav .nav-item { position: relative; width: 100%; min-height: 52px; gap: 16px; padding: 0 14px; border: 0; border-radius: 18px; color: #a9b8cd; background: transparent; font-size: 16px; font-weight: 520; }
.reference-nav .nav-item > span:not(.ref-icon) { width: auto; color: inherit; font-size: inherit; text-align: left; }
.reference-nav .nav-item .ref-icon { display: grid; width: 22px; height: 22px; flex: 0 0 22px; place-items: center; color: #9baec5; }
.reference-nav .nav-item .ref-icon svg { display: block; }
.reference-nav .nav-item:hover { color: #e5edf7; background: rgba(255,255,255,.035); }
.reference-nav .nav-item.active { color: #e0edff; border: 1px solid rgba(126,181,247,.12); background: #182840; box-shadow: inset 0 1px rgba(255,255,255,.03); }
.reference-nav .nav-item.active .ref-icon { color: #d7e9ff; }
.reference-nav-badge { display: grid; min-width: 33px; height: 33px; place-items: center; margin-left: auto; padding: 0 7px; border-radius: 12px; color: #c8dbf6; background: #304b70; font-size: 13px; font-weight: 600; }
.reference-sidebar-spacer { flex: 1; min-height: 44px; }
.reference-training-line { display: flex; width: 100%; align-items: center; min-height: 50px; gap: 15px; padding: 0 14px; border: 1px solid transparent; border-radius: 14px; color: #a5b5c9; background: transparent; font-size: 15px; font-weight: 520; text-align: left; }
.reference-training-line .ref-icon { display: grid; width: 21px; place-items: center; color: #98adc5; }
.reference-training-line > span:not(.ref-icon) { width: auto; color: inherit; font-size: inherit; text-align: left; }
.reference-training-badge { min-width: 0; height: 27px; border-radius: 9px; color: #94e4c3; background: rgba(83,190,146,.12); font-size: 10px; }
.reference-training-line:hover { color: #e5edf7; background: rgba(255,255,255,.035); }
.reference-training-line.active { color: #e0edff; border-color: rgba(126,181,247,.12); background: #182840; box-shadow: inset 0 1px rgba(255,255,255,.03); }
.reference-training-line.active .ref-icon { color: #d7e9ff; }
.reference-sidebar-profile { display: flex; align-items: center; gap: 12px; margin-top: 18px; padding: 19px 9px 8px; border-top: 1px solid rgba(255,255,255,.055); }
.reference-avatar { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border-radius: 50%; color: #151227; background: #a89bff; font-size: 13px; font-weight: 780; }
.reference-avatar.small { width: 40px; height: 40px; flex-basis: 40px; font-size: 12px; }
.reference-profile-copy { min-width: 0; flex: 1; }
.reference-profile-copy strong { display: block; overflow: hidden; color: #d8e3f1; font-size: 14px; font-weight: 620; text-overflow: ellipsis; white-space: nowrap; }
.reference-profile-copy small { overflow: hidden; margin-top: 3px; color: #667993; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.reference-logout { display: grid; width: 28px; height: 28px; place-items: center; padding: 0; border: 0; color: #6d829d; background: transparent; }
.reference-logout:hover { color: #d8e7fa; }
.reference-logout .ref-icon { display: grid; place-items: center; }
.reference-main { height: 100vh; min-width: 0; min-height: 0; flex: 1; overflow-y: auto; background: radial-gradient(circle at 25% -20%, rgba(39,89,154,.1), transparent 39%), #070a10; }
.reference-topbar { position: sticky; top: 0; z-index: 20; display: flex; min-height: 94px; align-items: center; justify-content: space-between; gap: 30px; padding: 0 48px; border-bottom: 1px solid rgba(255,255,255,.065); background: rgba(7,10,16,.9); backdrop-filter: blur(18px); }
.reference-page-breadcrumb { margin-bottom: 8px; color: #60738f; font-size: 11px; font-weight: 620; letter-spacing: .23em; text-transform: uppercase; }
.reference-topbar h1 { color: #f4f7fc; font-size: 32px; font-weight: 670; letter-spacing: -.045em; }
.reference-topbar-actions { display: flex; align-items: center; gap: 20px; }
.reference-search { display: flex; width: 276px; height: 50px; align-items: center; gap: 11px; padding: 0 15px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; color: #71849f; background: rgba(255,255,255,.025); }
.reference-search .ref-icon { display: grid; width: 20px; place-items: center; }
.reference-search input { width: 100%; padding: 0; border: 0; border-radius: 0; color: #dfe9f6; background: transparent; box-shadow: none; font-size: 14px; }
.reference-search input:focus { border: 0; box-shadow: none; }
.reference-search:focus-within { border-color: rgba(133,190,255,.42); box-shadow: 0 0 0 3px rgba(98,165,255,.08); }
.reference-bell { position: relative; display: grid; width: 30px; height: 35px; place-items: center; padding: 0; border: 0; color: #9eb0c9; background: transparent; }
.reference-bell .ref-icon { display: grid; place-items: center; }
.reference-bell i { position: absolute; top: 4px; right: 1px; width: 8px; height: 8px; border: 1px solid #07101d; border-radius: 50%; background: #7bb4ff; }
.reference-top-divider { width: 1px; height: 32px; background: rgba(255,255,255,.09); }
.reference-top-user { display: flex; align-items: center; gap: 10px; color: #b7c6d9; font-size: 14px; font-weight: 570; white-space: nowrap; }
.reference-caret { color: #637690; font-size: 16px; }
.reference-content { width: 100%; padding: 44px 48px 58px; }
.reference-content .page-section { max-width: none; margin: 0; }
.reference-content .project-registry-toolbar { margin-top: 0; }
.reference-content .project-flat-list { margin-top: 32px; }
.reference-content .project-detail-topline { margin-top: 0; }
.reference-content .page-heading { padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.075); }
.reference-content .metric-card, .reference-content .panel-card { border-color: rgba(255,255,255,.075); background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.016) 44%), rgba(11,16,25,.72); }
.reference-content .project-task-table-wrap, .reference-content .project-registry-card { background: rgba(10,14,21,.72); }
@media (max-width: 1320px) { .reference-sidebar { width: 238px; flex-basis: 238px; }.reference-topbar, .reference-content { padding-left: 32px; padding-right: 32px; }.reference-search { width: 235px; }.reference-nav .nav-item { font-size: 14px; } }

/* Compact desktop scale — matches the original Annotator QC UI tokens. */
.reference-sidebar { width: 238px; flex-basis: 238px; padding: 16px 12px; }
.reference-brand-lockup { padding: 8px 12px 34px; }
.reference-nav-label { padding: 0 12px 11px; font-size: 10px; }
.reference-manage-label { margin-top: 37px; }
.reference-nav { gap: 4px; }
.reference-nav .nav-item { min-height: 44px; gap: 12px; padding: 0 12px; border-radius: 14px; font-size: 14px; }
.reference-nav .nav-item .ref-icon { width: 18px; height: 18px; flex-basis: 18px; }
.reference-nav .nav-item .ref-icon svg { width: 17px; height: 17px; }
.reference-nav-badge { min-width: 29px; height: 29px; border-radius: 10px; font-size: 11px; }
.reference-training-line { min-height: 43px; gap: 12px; padding: 0 12px; font-size: 13px; }
.reference-training-line .ref-icon { width: 18px; }
.reference-sidebar-profile { gap: 10px; margin-top: 14px; padding: 15px 7px 5px; }
.reference-avatar { width: 36px; height: 36px; flex-basis: 36px; font-size: 11px; }
.reference-avatar.small { width: 32px; height: 32px; flex-basis: 32px; font-size: 10px; }
.reference-profile-copy strong { font-size: 12px; }
.reference-profile-copy small { font-size: 9px; }
.reference-topbar { min-height: 72px; padding: 0 32px; }
.reference-page-breadcrumb { margin-bottom: 5px; font-size: 10px; }
.reference-topbar h1 { font-size: 24px; }
.reference-topbar-actions { gap: 15px; }
.reference-search { width: 220px; height: 40px; border-radius: 11px; padding: 0 12px; }
.reference-search input { font-size: 12px; }
.reference-top-user { gap: 8px; font-size: 12px; }
.reference-content { padding: 20px 32px 42px; }
.project-registry-toolbar { padding-bottom: 12px; font-size: 10px; }
.project-new-link { font-size: 12px; }
.reference-content .project-flat-list { margin-top: 20px; }
.project-registry-card, .project-task-table-wrap { border-radius: 16px; }
.project-registry-header { grid-template-columns: minmax(280px, 1.8fr) 130px 180px 100px 150px 20px; gap: 16px; min-height: 48px; padding: 0 16px; font-size: 10px; letter-spacing: .12em; }
.project-flat-row { grid-template-columns: minmax(280px, 1.8fr) 130px 180px 100px 150px 20px; gap: 16px; min-height: 88px; padding: 16px; }
.project-flat-row:hover, .project-flat-row.active { padding: 16px; }
.project-flat-main { gap: 12px; }
.project-row-icon { width: 38px; height: 38px; border-radius: 10px; }
.project-row-icon svg { width: 17px; height: 17px; }
.project-code { margin-bottom: 4px; font-size: 10px; }
.project-flat-main strong { font-size: 14px; }
.project-flat-main small:not(.project-code) { margin-top: 3px; font-size: 10px; }
.project-status-chip { padding: 6px 9px; font-size: 10px; }
.project-flat-progress { gap: 8px; font-size: 10px; }
.project-flat-progress .progress-track { height: 6px; }
.project-flat-frames strong { font-size: 14px; }
.project-flat-frames small, .project-flat-owner small { margin-top: 3px; font-size: 10px; }
.project-flat-owner strong { font-size: 10px; }
.project-chevron svg { width: 16px; height: 16px; }
.project-detail-topline { min-height: 44px; padding-bottom: 12px; }
.detail-back { font-size: 12px; }
.project-detail-header { min-height: 0; padding: 22px 0 22px; }
.project-detail-header h2 { margin-top: 8px; font-size: 22px; }
.project-detail-header p { margin-top: 8px; font-size: 12px; }
.project-detail-summary { width: 240px; min-width: 240px; flex-basis: 240px; padding-bottom: 2px; }
.project-detail-summary span { font-size: 10px; }
.project-detail-summary strong { font-size: 13px; }
.project-detail-summary .progress-track { height: 6px; margin-top: 8px; }
.project-stage-tabs { gap: 22px; }
.project-stage-tab { min-height: 52px; gap: 8px; border-bottom-width: 3px; font-size: 12px; }
.project-stage-tab strong, .project-stage-tab.active strong { font-size: 11px; }
.project-task-heading { min-height: 38px; margin: 16px 0 8px; }
.project-task-heading .muted { font-size: 10px; }
.batch-filter { min-width: 250px; padding: 7px 10px; font-size: 10px; }
.project-task-table { min-width: 900px; }
.project-task-table th { height: 48px; padding: 0 16px; font-size: 10px; letter-spacing: .12em; }
.project-task-table td { height: 76px; padding: 12px 16px; font-size: 12px; }
.project-task-table td > strong { font-size: 12px; }
.project-task-table td:nth-child(2) > strong { max-width: 300px; font-size: 11px; }
.project-task-table .table-subline { margin-top: 4px; font-size: 9px; }
.project-task-table .status-chip { padding: 5px 8px; font-size: 10px; }
.priority-normal { font-size: 11px; }
.project-stage-control .stage-select { min-width: 112px; padding: 6px 8px; font-size: 10px; }
.project-task-row { cursor: pointer; }
.project-task-row:hover td { background: rgba(113,183,255,.055); }

/* Project hierarchy: batches are the first level, tasks are the second. */
.batch-registry-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 8px; padding: 13px 0 10px; border-bottom: 1px solid rgba(255,255,255,.07); color: #91bee9; font-size: 10px; font-weight: 680; letter-spacing: .16em; text-transform: uppercase; }
.project-label-row.editable { grid-template-columns: 38px minmax(0,1fr) auto; padding: 7px 9px; }
.project-label-color-input { width: 30px; height: 30px; padding: 2px; border-radius: 7px; cursor: pointer; }
.project-setting-name-input { min-width: 0; min-height: 34px; padding: 7px 9px; border: 1px solid rgba(132,170,211,.28); border-radius: 8px; color: #e3effb; background: rgba(7,16,27,.38); font: inherit; font-size: 12px; }
.project-row-actions { display: flex; gap: 7px; }
.compact { min-height: 32px; padding: 6px 10px; font-size: 11px; }
.project-settings-section { margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); }
.project-settings-links { display: grid; gap: 10px; margin-top: 22px; }
.project-settings-tabs { display: flex; align-items: center; gap: 8px; margin: 16px 0 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.1); }
.project-settings-tabs button { min-height: 36px; padding: 7px 15px; border: 1px solid transparent; border-radius: 8px; color: #8da5bd; background: transparent; font-size: 12px; font-weight: 650; }
.project-settings-tabs button:hover { color: #dceafa; background: rgba(92,154,224,.11); }
.project-settings-tabs button.active { border-color: rgba(113,183,255,.48); color: #e9f4ff; background: rgba(72,145,225,.18); box-shadow: inset 0 0 0 1px rgba(255,255,255,.04); }
.project-settings-link { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 76px; padding: 15px 16px; border: 1px solid rgba(132,170,211,.24); border-radius: 11px; color: #dceafa; background: rgba(255,255,255,.025); text-align: left; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.project-settings-link:hover { border-color: rgba(113,183,255,.56); background: rgba(78,146,221,.1); transform: translateY(-1px); }
.project-settings-link strong { display: block; color: inherit; font-size: 14px; }
.project-settings-link small { display: block; margin-top: 5px; color: #8298b1; font-size: 11px; }
.project-settings-link > span { color: #7cb7f1; font-size: 20px; }
.project-settings-section .project-settings-heading h3 { margin-bottom: 0; }
.project-hold-reason-list { display: grid; gap: 7px; margin-top: 16px; }
.project-hold-reason-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 7px 9px; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: rgba(255,255,255,.025); }
.project-hold-reason-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 10px; margin-top: 14px; }
.project-hold-reason-form label { display: grid; gap: 6px; color: #8fa1b6; font-size: 10px; }
.project-hold-reason-form input { min-height: 34px; }
.settings-empty { padding: 13px; border: 1px dashed rgba(132,170,211,.28); border-radius: 9px; color: #8295ac; font-size: 12px; }
.batch-registry-toolbar small { color: #70829a; font-size: 10px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.project-settings-card { max-width: 760px; margin: 10px 0 32px; padding: 22px; border: 1px solid rgba(113,183,255,.18); border-radius: 14px; background: rgba(18,29,43,.55); }.project-settings-heading h3 { margin-top: 6px; color: #e8f2fc; font-size: 19px; }.project-settings-heading p { margin-top: 7px; font-size: 12px; line-height: 1.5; }.project-label-list { display: grid; gap: 7px; margin-top: 20px; }.project-label-row { display: grid; grid-template-columns: 10px minmax(0,1fr) 72px auto; align-items: center; gap: 10px; min-height: 46px; padding: 0 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: rgba(255,255,255,.025); }.project-label-row > i { width: 10px; height: 10px; border-radius: 50%; }.project-label-row strong { color: #dce8f5; font-size: 12px; }.project-label-row span { color: #86cdae; font-size: 10px; }.project-label-row.inactive { opacity: .62; }.project-label-row.inactive span { color: #8798ab; }.project-label-form { display: grid; grid-template-columns: minmax(0,1fr) 96px auto; align-items: end; gap: 10px; margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.08); }.project-label-form label { display: grid; gap: 6px; color: #8fa1b6; font-size: 10px; }.project-label-form input { min-height: 34px; }.project-label-form input[type="color"] { width: 100%; padding: 3px; }
.batch-registry-actions { display: flex; align-items: center; gap: 16px; }
.batch-registry-card { overflow: hidden; margin-top: 16px; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(10,14,21,.72); }
.batch-registry-row { display: grid; grid-template-columns: minmax(320px, 1.35fr) minmax(240px, .65fr) 22px; width: 100%; min-height: 82px; gap: 20px; align-items: center; padding: 14px 18px; border: 0; border-bottom: 1px solid rgba(255,255,255,.065); color: inherit; background: transparent; text-align: left; transition: background .16s ease; }
.batch-registry-row:last-child { border-bottom: 0; }
.batch-registry-row:hover { background: rgba(255,255,255,.03); }
.batch-registry-main { display: flex; min-width: 0; align-items: center; gap: 12px; }
.batch-row-icon { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 10px; color: #cae0fb; background: rgba(90,153,227,.16); }
.batch-registry-main strong { display: block; overflow: hidden; color: #dce8f7; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.batch-registry-main small { overflow: hidden; max-width: 720px; margin-top: 4px; color: #71849b; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.batch-distribution { min-width: 0; }
.batch-distribution-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 7px; color: #8093aa; font-size: 10px; }
.batch-distribution-top strong { color: #c5d9ee; font-size: 11px; font-weight: 600; }
.batch-stage-bar { position: relative; display: flex; height: 7px; overflow: visible; border-radius: 99px; background: rgba(255,255,255,.07); outline: none; }
.batch-stage-bar::after { position: absolute; z-index: 5; top: calc(100% + 12px); right: 0; display: none; box-sizing: border-box; width: min(320px, calc(100vw - 32px)); padding: 10px 12px; border: 1px solid rgba(151,190,233,.22); border-radius: 8px; color: #dceafa; background: #111b28; box-shadow: 0 10px 26px rgba(0,0,0,.35); content: attr(data-distribution); font-size: 11px; line-height: 1.5; white-space: normal; overflow-wrap: break-word; pointer-events: none; }
.batch-stage-bar:hover::after, .batch-stage-bar:focus-visible::after { display: block; }
.batch-stage-segment { display: block; height: 100%; min-width: 0; }
.batch-stage-todo { background: #66778c; }.batch-stage-annotation { background: #63a7fa; }.batch-stage-qc { background: #a686f1; }.batch-stage-finished { background: #75d3a9; }.batch-stage-delivery, .batch-stage-customer_review { background: #f0c86b; }.batch-stage-accepted_delivery { background: #55bb82; }.batch-stage-empty { flex: 1; background: rgba(255,255,255,.07); }
.batch-stage-hold { background: #e59a46; }.stage-hold { border-color: rgba(235,162,75,.52); color: #ffe1ad; background: rgba(207,124,35,.16); }.task-hold-details { display: grid; gap: 3px; min-width: 0; color: #f0c076; font-size: 10px; }.task-hold-details strong { overflow: hidden; color: #ffd690; text-overflow: ellipsis; white-space: nowrap; }.task-hold-details small { overflow: hidden; color: #aebdcb; text-overflow: ellipsis; white-space: nowrap; }.task-hold-action { border-color: rgba(235,162,75,.4); color: #ffd58d; background: rgba(207,124,35,.1); }.task-hold-action:hover { border-color: rgba(245,184,100,.7); background: rgba(207,124,35,.2); }.task-resume-action { border-color: rgba(102,205,159,.45); color: #ccf5df; background: rgba(48,151,105,.15); }.task-resume-action:hover { background: rgba(48,151,105,.27); }
.batch-row-arrow { display: grid; place-items: center; color: #7488a2; }
.batch-detail-heading { padding: 18px 0 17px; }
.batch-detail-heading h3 { margin-top: 7px; color: #edf4fb; font-size: 18px; font-weight: 630; letter-spacing: -.025em; }
.batch-detail-heading p { overflow: hidden; max-width: 100%; margin-top: 6px; color: #73869f; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.batch-task-table { min-width: 760px; }
.batch-task-table th:first-child, .batch-task-table td:first-child { width: 52%; }

/* Project hierarchy follows the same borderless, flat-list language as task queues. */
.batch-flat-list { margin-top: 8px; border-top: 1px solid var(--line); }
.batch-flat-row { display: grid; grid-template-columns: minmax(320px, 1.35fr) minmax(240px, .65fr) 22px; width: 100%; min-height: 76px; gap: 20px; align-items: center; padding: 12px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.065); color: inherit; background: transparent; text-align: left; transition: background .16s ease; }
.batch-flat-row:hover { background: rgba(113,183,255,.045); }
.batch-flat-row .batch-registry-main { padding-left: 2px; }
.batch-flat-row .batch-row-arrow { padding-right: 2px; }
.project-batch-task-list { margin-top: 0; border-top: 1px solid var(--line); }
.project-batch-task-row { grid-template-columns: minmax(280px, 1fr) 180px 60px; min-height: 70px; padding-right: 2px; padding-left: 0; background: transparent; }
.project-batch-task-row:hover { background: rgba(113,183,255,.045); }
.project-batch-task-owner { overflow: hidden; color: #8295ab; font-size: 10px; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
body.light-theme .batch-flat-list, body.light-theme .project-batch-task-list { border-color: rgba(29,55,82,.14); }
body.light-theme .batch-flat-row { border-color: rgba(29,55,82,.12); background: transparent; }
body.light-theme .batch-flat-row:hover, body.light-theme .project-batch-task-row:hover { background: #edf5fd; }
body.light-theme .project-batch-task-row { border-color: rgba(29,55,82,.12); background: transparent; }
body.light-theme .project-batch-task-owner { color: #526b84; }

/* Focused task workbench: its top bar contains only annotation tools and task actions. */
.annotator-workbench-topbar { position: relative; z-index: 20; display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 18px; padding: 0 16px; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(6,10,16,.94); box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.workbench-tools, .workbench-actions { display: flex; min-width: 0; align-items: center; gap: 8px; }
.customer-review-mode #save-draft,
.customer-review-mode .workbench-action-divider,
.customer-review-mode .annotation-view-controls { display: none !important; }
.customer-review-mode .annotator-layout { grid-template-columns: 238px minmax(0, 1fr) 206px; }
.customer-review-mode .annotator-workbench-topbar { justify-content: space-between; }
.customer-review-mode .workbench-actions { min-width: auto; }
.customer-review-mode .workbench-primary-tools > :not(#select-tool):not(#qc-mark-missing) { display: none !important; }
.customer-review-mode .qc-mark-missing-tool { display: inline-flex !important; }
.customer-review-mode .annotation-canvas-wrap canvas { cursor: default; }
.workbench-tool-group { display: inline-flex; align-items: center; gap: 4px; padding-right: 8px; border-right: 1px solid rgba(255,255,255,.1); }.workbench-tool-group:last-child { padding-right: 0; border-right: 0; }
.workbench-tool-button { display: inline-flex; min-width: 58px; height: 34px; align-items: center; justify-content: center; gap: 7px; padding: 0 10px; border: 1px solid rgba(255,255,255,.075); border-radius: 9px; color: #aab9ca; background: rgba(255,255,255,.03); font-size: 11px; font-weight: 630; transition: .16s ease; }.workbench-tool-button:hover { color: #e7f1fa; background: rgba(255,255,255,.075); }.workbench-tool-button.active { border-color: rgba(138,194,255,.36); color: #e8f4ff; background: rgba(89,160,240,.2); box-shadow: 0 0 18px rgba(76,149,233,.13), inset 0 1px rgba(255,255,255,.12); }
.workbench-actions { justify-content: flex-end; }.draft-state { margin-right: 4px; color: #788aa1; font-size: 10px; white-space: nowrap; }.draft-state.dirty { color: #f0cc78; }.draft-state.saved { color: #93dfba; }.draft-state.error { color: #ffaaa2; }
.task-navigation-progress { min-width: 42px; color: #8fa2b8; font-size: 10px; font-variant-numeric: tabular-nums; text-align: center; white-space: nowrap; }
.workbench-quiet-action, .workbench-save, .workbench-submit { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; gap: 7px; padding: 0 11px; border: 1px solid transparent; border-radius: 9px; font-size: 11px; font-weight: 630; transition: .16s ease; }.workbench-quiet-action { color: #91a2b7; background: transparent; }.workbench-quiet-action:hover { color: #d9e5f2; background: rgba(255,255,255,.055); }.workbench-save { border-color: rgba(255,255,255,.1); color: #d4e1ee; background: rgba(255,255,255,.045); }.workbench-save:hover:not(:disabled) { border-color: rgba(138,194,255,.23); background: rgba(111,183,255,.1); }.workbench-save:disabled { cursor: default; opacity: .48; }.workbench-save.dirty { border-color: rgba(245,200,105,.58); color: #fff0c9; background: rgba(197,142,38,.18); box-shadow: 0 0 0 3px rgba(222,164,48,.08); }.workbench-save.dirty:hover { border-color: rgba(255,219,135,.82); background: rgba(197,142,38,.29); }.workbench-save.saved { border-color: rgba(103,204,151,.23); color: #a9e7c7; }.workbench-submit { border-color: rgba(125,221,177,.34); color: #defbed; background: rgba(82,191,137,.19); box-shadow: 0 0 18px rgba(78,183,128,.11), inset 0 1px rgba(255,255,255,.1); }.workbench-submit:hover { border-color: rgba(151,242,202,.62); background: rgba(82,191,137,.3); }
.workbench-utility-actions { display: inline-flex; align-items: center; gap: 2px; padding: 2px; border-radius: 9px; background: rgba(255,255,255,.025); }.workbench-icon-action { display: grid; width: 30px; height: 30px; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 7px; color: #91a2b7; background: transparent; transition: .16s ease; }.workbench-icon-action:hover { color: #d9e5f2; background: rgba(255,255,255,.075); }.workbench-icon-action svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }.workbench-icon-action.theme-toggle { font-size: 16px; }.workbench-action-divider { width: 1px; height: 20px; margin: 0 2px; background: rgba(255,255,255,.1); }
#negative-rect-tool.active { border-color: rgba(245,132,121,.45); color: #ffe6e2; background: rgba(224,88,76,.2); box-shadow: 0 0 18px rgba(224,88,76,.13), inset 0 1px rgba(255,255,255,.12); }
.sam3-run { border-color: rgba(125,221,177,.3); color: #d9f9e9; background: rgba(82,191,137,.15); }
.sam3-run:hover { border-color: rgba(151,242,202,.58); color: #effff7; background: rgba(82,191,137,.27); }
.sam3-run:disabled { cursor: not-allowed; opacity: .42; box-shadow: none; }
.sam3-run.ready { border-color: rgba(151,242,202,.78); color: #f0fff7; background: rgba(38,166,110,.32); box-shadow: 0 0 0 3px rgba(82,191,137,.11), 0 0 18px rgba(82,191,137,.2); animation: sam3-ready-pulse 1.7s ease-in-out infinite; }
.sam3-run.ready:hover { background: rgba(38,166,110,.46); }
.sam3-run.waiting-for-class { color: #d7e7f7; }
@keyframes sam3-ready-pulse { 50% { box-shadow: 0 0 0 5px rgba(82,191,137,.04), 0 0 23px rgba(82,191,137,.3); } }
.replace-results.active { color: #f6d58b; background: rgba(243,200,107,.13); }
/* Primary tools stay distinct; AI prompt controls form their own compact work row. */
.annotator-workbench-topbar { min-height: 64px; padding-top: 0; padding-bottom: 0; }
.workbench-tools { display: flex; align-items: center; gap: 8px; }
.workbench-primary-tools { display: flex; align-items: center; gap: 6px; }
.ai-assist-tool { border-color: rgba(125,221,177,.3); color: #d9f9e9; background: rgba(82,191,137,.12); }
.ai-assist-tool:hover, .ai-assist-tool.active { border-color: rgba(151,242,202,.56); color: #effff7; background: rgba(82,191,137,.22); box-shadow: 0 0 18px rgba(78,183,128,.11), inset 0 1px rgba(255,255,255,.1); }
.ai-assist-controls { display: inline-flex; min-height: 34px; align-items: center; gap: 4px; margin-left: 3px; padding-left: 8px; border-left: 1px solid rgba(125,221,177,.42); }
.ai-assist-controls[hidden] { display: none; }
.ai-assist-controls .workbench-tool-group { gap: 3px; padding-right: 6px; }
.ai-assist-controls .workbench-tool-button, .ai-assist-controls .workbench-quiet-action { min-width: 0; min-height: 28px; height: 28px; padding-right: 8px; padding-left: 8px; font-size: 10px; white-space: nowrap; }
.ai-assist-controls .sam3-run { min-height: 28px; height: 28px; padding-right: 10px; padding-left: 10px; font-size: 10px; white-space: nowrap; }
.brush-controls { display: inline-flex; min-height: 34px; align-items: center; gap: 6px; margin-left: 3px; padding-left: 8px; border-left: 1px solid rgba(138,194,255,.4); }
.brush-controls[hidden] { display: none; }
.brightness-controls { display: inline-flex; min-height: 34px; align-items: center; margin-left: 3px; padding-left: 8px; border-left: 1px solid rgba(244,198,109,.38); }
.brightness-controls[hidden] { display: none; }
.brightness-controls label { display: inline-flex; align-items: center; gap: 6px; color: #c8d7e7; font-size: 10px; font-weight: 650; white-space: nowrap; }
.brightness-controls input { width: 82px; min-width: 82px; height: 18px; margin: 0; padding: 0; appearance: none; -webkit-appearance: none; background: transparent; cursor: ew-resize; }
.brightness-controls input::-webkit-slider-runnable-track { height: 4px; border-radius: 999px; background: rgba(235,190,98,.42); }.brightness-controls input::-webkit-slider-thumb { width: 14px; height: 14px; margin-top: -5px; appearance: none; -webkit-appearance: none; border: 2px solid #fff1cc; border-radius: 50%; background: #d99b39; box-shadow: 0 1px 4px rgba(0,0,0,.36); }.brightness-controls input::-moz-range-track { height: 4px; border-radius: 999px; background: rgba(235,190,98,.42); }.brightness-controls input::-moz-range-thumb { width: 10px; height: 10px; border: 2px solid #fff1cc; border-radius: 50%; background: #d99b39; box-shadow: 0 1px 4px rgba(0,0,0,.36); }.brightness-controls output { min-width: 32px; color: #f2d797; font-variant-numeric: tabular-nums; }
.brush-controls .workbench-tool-button { min-width: 0; min-height: 28px; height: 28px; padding-right: 8px; padding-left: 8px; font-size: 10px; white-space: nowrap; }
.brush-mode-toggle { display: inline-flex; overflow: hidden; border: 1px solid rgba(137,181,224,.32); border-radius: 7px; }.brush-mode-toggle button { min-width: 42px; height: 28px; padding: 0 8px; border: 0; border-right: 1px solid rgba(137,181,224,.24); color: #94a8bd; background: rgba(255,255,255,.025); font-size: 10px; font-weight: 680; }.brush-mode-toggle button:last-child { border-right: 0; }.brush-mode-toggle button:hover { color: #dbeeff; background: rgba(108,172,239,.12); }.brush-mode-toggle button.active { color: #e4fff3; background: rgba(73,183,132,.25); box-shadow: inset 0 0 0 1px rgba(128,232,177,.24); }.brush-mode-toggle #brush-erase.active { color: #ffe4df; background: rgba(224,91,77,.25); box-shadow: inset 0 0 0 1px rgba(255,150,137,.22); }
body.light-theme .brush-mode-toggle { border-color: #9cc4eb; background: #ffffff; }.light-theme .brush-mode-toggle button { color: #34536f; border-right-color: #b9d4ee; background: #f9fcff; }.light-theme .brush-mode-toggle button:hover { color: #123f68; background: #e3f1ff; }.light-theme .brush-mode-toggle button.active { color: #075f42; background: #bdebd5; box-shadow: inset 0 0 0 1px #6fc69e; }.light-theme .brush-mode-toggle #brush-erase.active { color: #9f251c; background: #ffd9d4; box-shadow: inset 0 0 0 1px #ee9b91; }
.brush-size-control { display: inline-flex; align-items: center; gap: 6px; color: #91a2b7; font-size: 10px; font-weight: 630; white-space: nowrap; }.brush-size-control input { width: 96px; height: 18px; min-width: 96px; margin: 0; padding: 0; appearance: none; -webkit-appearance: none; background: transparent; cursor: ew-resize; }.brush-size-control input::-webkit-slider-runnable-track { height: 4px; border-radius: 999px; background: rgba(142,177,215,.34); }.brush-size-control input::-webkit-slider-thumb { width: 14px; height: 14px; margin-top: -5px; appearance: none; -webkit-appearance: none; border: 2px solid #d8edff; border-radius: 50%; background: #5d9fe5; box-shadow: 0 1px 4px rgba(0,0,0,.36); }.brush-size-control input::-moz-range-track { height: 4px; border-radius: 999px; background: rgba(142,177,215,.34); }.brush-size-control input::-moz-range-thumb { width: 10px; height: 10px; border: 2px solid #d8edff; border-radius: 50%; background: #5d9fe5; box-shadow: 0 1px 4px rgba(0,0,0,.36); }.brush-size-control output { min-width: 31px; color: #c8d7e7; font-variant-numeric: tabular-nums; }
.annotator-layout { height: calc(100vh - 64px); }
.annotator-layout { height: calc(100vh - 64px); grid-template-columns: 220px minmax(0, 1fr); }.annotation-sidebar { padding: 17px 14px; }.shape-section { margin-top: 0; }
.annotation-contextbar { display: flex; min-height: 44px; align-items: center; gap: 10px; padding: 0 16px; border-bottom: 1px solid rgba(255,255,255,.065); color: #aebed0; background: rgba(10,14,22,.64); }.annotation-contextbar strong { color: #dce8f6; font-size: 11px; font-weight: 610; }.annotation-contextbar .muted { overflow: hidden; color: #7d90a8; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.shape-label-popover { position: absolute; z-index: 90; width: 152px; padding: 9px; border: 1px solid rgba(156,203,255,.25); border-radius: 11px; background: rgba(13,21,32,.97); box-shadow: 0 14px 32px rgba(0,0,0,.42); }
.shape-label-popover.has-rework-feedback { display: flex; width: min(320px, calc(100vw - 32px)); max-height: min(620px, calc(100vh - 122px)); flex-direction: column; overflow: hidden; }
.shape-label-title { display: flex; align-items: center; justify-content: space-between; gap: 4px; margin: 0 2px 7px; color: #b8c8db; font-size: 8px; font-weight: 680; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }.shape-label-title span { color: #89bdf7; }
.shape-label-batch-note { margin: -1px 2px 8px; color: #8396ae; font-size: 9px; line-height: 1.35; }
.shape-label-option { display: flex; align-items: center; gap: 5px; min-height: 28px; padding: 0 6px; border: 1px solid transparent; border-radius: 7px; color: #b7c5d5; background: rgba(255,255,255,.035); font-size: 10px; text-align: left; }.shape-label-option:hover { color: #edf5ff; background: rgba(116,181,255,.13); }.shape-label-option.active { border-color: rgba(145,201,255,.42); color: #e7f3ff; background: rgba(91,161,237,.2); }.shape-label-option i { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; }
.shape-label-popover.has-rework-feedback .shape-label-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); flex: 0 0 auto; gap: 4px; }.shape-label-popover.has-rework-feedback .shape-label-option { min-width: 0; line-height: 1.2; }.shape-label-popover.has-rework-feedback .shape-label-option i { margin-left: 1px; }
.shape-panel-actions { display: flex; align-items: center; gap: 6px; }.shape-visibility { display: grid; width: 24px; height: 24px; flex: 0 0 auto; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 7px; color: #8294aa; background: transparent; }.shape-visibility:hover { color: #dceaf8; background: rgba(119,181,255,.11); }.shape-visibility svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }.shape-visibility.all { border-color: rgba(255,255,255,.07); background: rgba(255,255,255,.03); }
.shape-section .open-feedback-count { display: grid; box-sizing: border-box; min-width: 20px; height: 20px; place-items: center; padding: 0 5px; border: 1px solid rgba(245,111,98,.54); border-radius: 999px; color: #ffb4ab; background: rgba(201,67,56,.18); font-size: 9px; font-weight: 820; line-height: 1; cursor: pointer; }.shape-section .open-feedback-count:hover, .shape-section .open-feedback-count.active { color: #fff; border-color: rgba(255,182,173,.9); background: rgba(211,75,62,.48); box-shadow: 0 0 0 2px rgba(241,104,91,.14); }
.shape-section .fixed-feedback-count { display: grid; box-sizing: border-box; min-width: 20px; height: 20px; place-items: center; padding: 0 5px; border: 1px solid rgba(107,217,158,.55); border-radius: 999px; color: #b8f1d2; background: rgba(43,150,97,.18); font-size: 9px; font-weight: 820; line-height: 1; cursor: pointer; }.shape-section .fixed-feedback-count:hover, .shape-section .fixed-feedback-count.active { color: #fff; border-color: rgba(144,239,190,.9); background: rgba(48,167,109,.48); box-shadow: 0 0 0 2px rgba(98,214,151,.14); }
.selected-rework-feedback { display: grid; min-height: 0; flex: 1 1 auto; gap: 6px; margin-top: 9px; padding: 8px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid rgba(245,111,98,.35); border-radius: 8px; background: rgba(201,67,56,.1); scrollbar-width: thin; }.selected-rework-feedback-heading { display: grid; gap: 3px; }.selected-rework-feedback-heading span { color: #ffaaa0; font-size: 8px; font-weight: 800; letter-spacing: .08em; }.selected-rework-feedback-heading small { color: #b6a0a3; font-size: 8px; line-height: 1.35; }.selected-rework-feedback article { display: grid; gap: 5px; padding: 7px; border-left: 2px solid #f07569; border-radius: 4px; background: rgba(7,10,15,.18); }.selected-rework-feedback article strong { color: #ffe0dc; font-size: 10px; line-height: 1.35; }.feedback-provenance { color: #9caec2; font-size: 8px; font-weight: 720; letter-spacing: .02em; }.feedback-provenance.carried { color: #efc46f; }.feedback-provenance.new { color: #a4c9e7; }.selected-rework-feedback p { margin: 0; color: #e7cbca; font-size: 9px; line-height: 1.42; white-space: pre-wrap; word-break: break-word; }.confirm-rework-fix { min-height: 27px; margin-top: 2px; padding: 0 8px; border: 1px solid rgba(122,219,171,.5); border-radius: 7px; color: #c6f5dc; background: rgba(47,148,100,.18); font-size: 9px; font-weight: 760; }.confirm-rework-fix:hover { color: #fff; border-color: rgba(144,239,190,.8); background: rgba(48,167,109,.34); }.missing-confirmations { display: grid; gap: 4px; margin: 2px 3px 4px 4px; padding: 5px; border: 1px solid rgba(122,219,171,.24); border-radius: 6px; background: rgba(47,148,100,.07); }.missing-confirmations > small { color: #9fddbc; font-size: 7px; font-weight: 780; letter-spacing: .08em; }.missing-confirmations > div { display: grid; gap: 4px; }.confirm-missing-fix { min-height: 23px; padding: 2px 6px; border: 1px solid rgba(122,219,171,.42); border-radius: 5px; color: #baf1d4; background: rgba(47,148,100,.12); font-size: 8px; font-weight: 740; text-align: left; }.confirm-missing-fix:hover { color: #fff; border-color: rgba(144,239,190,.78); background: rgba(48,167,109,.3); }
.shape-filter { display: flex; flex-wrap: wrap; gap: 5px 7px; margin: 13px 0 4px; padding: 9px 0 11px; border-bottom: 1px solid rgba(255,255,255,.06); }.shape-filter > span { width: 100%; color: #6f829a; font-size: 9px; font-weight: 680; letter-spacing: .08em; text-transform: uppercase; }.shape-filter label { display: inline-flex; align-items: center; gap: 4px; color: #8e9eb2; font-size: 10px; cursor: pointer; }.shape-filter input { width: 11px; height: 11px; margin: 0; accent-color: #75b7ff; }.shape-filter i { width: 6px; height: 6px; border-radius: 50%; }.shape-filter i.rust { background: #f27f6b; }.shape-filter i.dent { background: #f6c85f; }.shape-filter i.scratch { background: #66b7ff; }.shape-filter i.dust { background: #b18cff; }
.shape-row { gap: 2px; padding: 3px; }.shape-select { display: flex; min-width: 0; flex: 1; align-items: center; gap: 8px; padding: 5px; border: 1px solid transparent; border-radius: 6px; color: inherit; background: transparent; text-align: left; }.shape-select:hover { background: rgba(255,255,255,.035); }.shape-row.active .shape-select { background: rgba(255,255,255,.04); }
.workbench-divider { width: 1px; height: 22px; margin: 0 2px; background: rgba(255,255,255,.1); }.workbench-tool-button.compact { min-width: 30px; width: 30px; padding: 0; font-size: 16px; font-weight: 500; }.zoom-level { min-width: 43px; height: 30px; padding: 0 3px; border: 0; color: #8395aa; background: transparent; font-size: 10px; font-variant-numeric: tabular-nums; }.zoom-level:hover { color: #dbeaff; }.workbench-tool-button:disabled { cursor: default; opacity: .35; }
.annotation-canvas-wrap { overflow: auto; }.annotation-canvas-wrap.is-panning { cursor: grabbing; }.annotation-canvas-wrap canvas { max-width: none; max-height: none; user-select: none; -webkit-user-drag: none; transform-origin: center center; }.shape-context-menu { position: absolute; z-index: 18; display: grid; width: 162px; padding: 5px; border: 1px solid rgba(156,203,255,.25); border-radius: 9px; background: rgba(13,21,32,.98); box-shadow: 0 14px 32px rgba(0,0,0,.46); }.shape-context-menu button { display: flex; min-height: 28px; align-items: center; justify-content: space-between; gap: 8px; padding: 0 8px; border: 0; border-radius: 6px; color: #c6d4e4; background: transparent; font-size: 10px; text-align: left; }.shape-context-menu button kbd { color: #6e839b; font-family: inherit; font-size: 8px; white-space: nowrap; }.shape-context-menu button:hover:not(:disabled) { background: rgba(117,184,255,.13); color: #f1f7fe; }.shape-context-menu button.danger { color: #ffaaa2; }.shape-context-menu button:disabled { cursor: default; opacity: .42; }.context-divider { height: 1px; margin: 4px 2px; background: rgba(255,255,255,.08); }
.read-only-notice { position: absolute; z-index: 12; top: 15px; left: 50%; padding: 8px 12px; border: 1px solid rgba(243,200,107,.35); border-radius: 99px; color: #f5d587; background: rgba(43,34,16,.94); box-shadow: 0 8px 22px rgba(0,0,0,.24); font-size: 10px; transform: translateX(-50%); }.annotation-canvas-wrap.read-only canvas { cursor: default; }

/* Light theme: the platform and the standalone annotator share the same preference. */
.reference-theme-toggle { display: grid; width: 30px; height: 35px; place-items: center; padding: 0; border: 0; border-radius: 8px; color: #9eb0c9; background: transparent; font-size: 17px; }.reference-theme-toggle:hover { color: #e6f0fb; background: rgba(255,255,255,.06); }
body.light-theme { color-scheme: light; --bg: #f4f7fb; --panel: #ffffff; --panel-soft: #eef3f8; --line: rgba(29,55,82,.14); --text: #1b2b3d; --muted: #65778b; --blue: #287bd3; --violet: #7659cc; --emerald: #18835f; --amber: #ae7410; background: #f4f7fb; color: #1b2b3d; }
body.light-theme :is(.login-shell, .reference-platform, .reference-main, .reference-content, .annotator-body, .annotation-main) { background: #f4f7fb; color: #1b2b3d; }
body.light-theme .login-card, body.light-theme .metric-card, body.light-theme .panel-card, body.light-theme .project-registry-card, body.light-theme .project-task-table-wrap, body.light-theme .table-wrap, body.light-theme .work-task-rows, body.light-theme .batch-row, body.light-theme .project-row, body.light-theme .project-modal, body.light-theme .modal-card { border-color: rgba(29,55,82,.14); background: #ffffff; box-shadow: 0 10px 28px rgba(29,55,82,.08); }
body.light-theme .reference-sidebar { border-color: rgba(29,55,82,.12); background: #edf3f9; }
body.light-theme .reference-topbar { border-color: rgba(29,55,82,.12); background: rgba(250,252,255,.92); }
body.light-theme .reference-topbar h1, body.light-theme .reference-brand-lockup strong, body.light-theme :is(h1,h2,h3,h4,strong) { color: #1b2b3d; }
body.light-theme :is(.muted, small, .reference-page-breadcrumb, .reference-nav-label, .metric-label, th, .table-subline, .work-task-main small, .work-task-meta small, .queue-pagination, .queue-empty) { color: #65778b; }
body.light-theme :is(input, select, textarea, .reference-search, .batch-filter, .stage-select) { border-color: rgba(29,55,82,.18); color: #1b2b3d; background: #ffffff; }
body.light-theme .reference-search input { color: #1b2b3d; background: transparent; }
body.light-theme .reference-nav .nav-item, body.light-theme .reference-training-line, body.light-theme .reference-top-user, body.light-theme .reference-bell, body.light-theme .reference-theme-toggle, body.light-theme .reference-logout { color: #526a83; }
body.light-theme .reference-nav .nav-item:hover, body.light-theme .reference-training-line:hover, body.light-theme .reference-theme-toggle:hover { color: #153b63; background: rgba(40,123,211,.08); }
body.light-theme .reference-nav .nav-item.active, body.light-theme .reference-training-line.active { color: #163f69; border-color: rgba(40,123,211,.2); background: #dbeafa; box-shadow: none; }
body.light-theme .reference-nav-badge { color: #235a95; background: #d5e7fa; }
body.light-theme .reference-sidebar-profile, body.light-theme .reference-top-divider, body.light-theme .page-heading, body.light-theme .work-queue-tabs, body.light-theme .work-task-group { border-color: rgba(29,55,82,.12); }
body.light-theme :is(td, .object-key, .tree-folder summary, .tree-file, .work-task-main, .work-task-main span, .batch-task-row, .project-row, .my-task-row) { color: #314a64; }
body.light-theme tbody tr:hover td, body.light-theme .work-task-row:hover, body.light-theme .project-row:hover, body.light-theme .tree-folder summary:hover, body.light-theme .tree-file:hover { background: #f0f6fd; }
body.light-theme .work-task-row { border-color: rgba(29,55,82,.1); background: #ffffff; }.light-theme .work-task-list-header { color: #65778b; }.light-theme .work-task-main strong { color: #205182; }
body.light-theme .secondary { color: #1a5c9a; border-color: rgba(40,123,211,.28); background: #e8f3ff; }.light-theme .secondary:hover { background: #dbeeff; }
body.light-theme .ghost { color: #425b74; border-color: rgba(29,55,82,.18); }.light-theme .primary { color: #ffffff; border-color: #287bd3; background: #287bd3; box-shadow: 0 7px 16px rgba(40,123,211,.18); }
body.light-theme .annotation-sidebar, body.light-theme .annotator-workbench-topbar, body.light-theme .annotation-contextbar { border-color: rgba(29,55,82,.12); background: #edf3f9; color: #314a64; }
body.light-theme .annotation-canvas-wrap { background-color: #e7edf4; background-image: linear-gradient(rgba(69,95,125,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(69,95,125,.08) 1px, transparent 1px); }
body.light-theme .annotation-canvas-wrap canvas { border-color: rgba(29,55,82,.2); box-shadow: 0 16px 36px rgba(29,55,82,.17); }
body.light-theme .workbench-tool-button, body.light-theme .workbench-save, body.light-theme .sidebar-collapse { border-color: rgba(29,55,82,.16); color: #45617b; background: #ffffff; }.light-theme .workbench-tool-button:hover, .light-theme .workbench-quiet-action:hover { color: #173d65; background: #deedf9; }.light-theme .workbench-tool-button.active { color: #174d84; border-color: rgba(40,123,211,.34); background: #dcecff; box-shadow: none; }.light-theme .workbench-submit { color: #ffffff; border-color: #18835f; background: #18835f; box-shadow: none; }.light-theme .workbench-quiet-action { color: #4c647e; }
body.light-theme .workbench-save.dirty { border-color: #b77910; color: #684300; background: #fff0cc; box-shadow: 0 0 0 3px rgba(213,151,36,.12); } body.light-theme .workbench-save.saved { border-color: rgba(24,131,95,.3); color: #08704b; background: #e9f8f0; }
body.light-theme #negative-rect-tool.active { border-color: rgba(198,72,59,.38); color: #9d2c21; background: #ffe5e1; }
body.light-theme .sam3-run { border-color: rgba(24,131,95,.32); color: #08704b; background: #e3f6ee; }
body.light-theme .sam3-run:hover { border-color: rgba(24,131,95,.58); color: #07563c; background: #d5f0e3; }
body.light-theme .sam3-run.ready { border-color: #178760; color: #fff; background: #16845d; box-shadow: 0 0 0 3px rgba(22,132,93,.12), 0 0 18px rgba(22,132,93,.18); }
body.light-theme .ai-assist-tool { border-color: rgba(24,131,95,.34); color: #08704b; background: #e3f6ee; }
body.light-theme .ai-assist-tool:hover, body.light-theme .ai-assist-tool.active { border-color: rgba(24,131,95,.58); color: #07563c; background: #d5f0e3; box-shadow: none; }
body.light-theme .ai-assist-controls { border-left-color: rgba(24,131,95,.36); }
body.light-theme .brush-controls { border-left-color: rgba(40,123,211,.35); }.light-theme .brush-size-control { color: #4c647e; }.light-theme .brush-size-control output { color: #27496a; }
body.light-theme .brightness-controls { border-left-color: rgba(174,116,16,.33); }.light-theme .brightness-controls label { color: #4c647e; }.light-theme .brightness-controls output { color: #73500b; }.light-theme .brightness-controls input::-webkit-slider-runnable-track, .light-theme .brightness-controls input::-moz-range-track { background: #ead7ab; }.light-theme .brightness-controls input::-webkit-slider-thumb, .light-theme .brightness-controls input::-moz-range-thumb { border-color: #ffffff; background: #b87813; }
body.light-theme .brush-size-control input::-webkit-slider-runnable-track, body.light-theme .brush-size-control input::-moz-range-track { background: #c9d9e8; }.light-theme .brush-size-control input::-webkit-slider-thumb, .light-theme .brush-size-control input::-moz-range-thumb { border-color: #ffffff; background: #287bd3; }
body.light-theme .workbench-utility-actions { background: #ffffff; }.light-theme .workbench-icon-action { color: #4c647e; }.light-theme .workbench-icon-action:hover { color: #173d65; background: #deedf9; }.light-theme .workbench-action-divider { background: rgba(29,55,82,.14); }
body.light-theme .replace-results.active { color: #77530c; background: #fff3d4; }
body.light-theme .shape-row.active .shape-select, body.light-theme .shape-select:hover, body.light-theme .my-task-row:hover, body.light-theme .my-task-row.active { border-color: rgba(40,123,211,.2); background: #dcecff; }
body.light-theme :is(.shape-label-popover, .shape-context-menu, .busy-indicator, .sidebar-collapse) { border-color: rgba(29,55,82,.18); color: #29435d; background: #ffffff; box-shadow: 0 12px 28px rgba(29,55,82,.15); }
body.light-theme .shape-context-menu button { color: #29435d; }.light-theme .shape-context-menu button:hover:not(:disabled) { background: #e8f2fc; color: #173d65; }.light-theme .context-divider { background: rgba(29,55,82,.12); }
body.light-theme .read-only-notice { color: #77530c; border-color: rgba(174,116,16,.35); background: #fff7df; }

/* Light-theme contrast pass: keep all information-bearing controls readable on pale surfaces. */
body.light-theme .eyebrow,
body.light-theme .project-registry-toolbar,
body.light-theme .batch-registry-toolbar,
body.light-theme .project-code,
body.light-theme .task-number,
body.light-theme .shape-filter > span,
body.light-theme .training-kicker { color: #3c6289; }
body.light-theme :is(.stack-form label, .field-inline, .check-label, .shape-filter label) { color: #38516a; }
body.light-theme :is(.reference-profile-copy small, .reference-profile-copy strong, .project-detail-header p, .project-detail-summary span, .project-detail-meta, .batch-path, .batch-count, .batch-registry-main small, .batch-detail-heading p, .project-task-table .table-subline) { color: #526b84; }
body.light-theme :is(.reference-profile-copy strong, .project-flat-main strong, .project-flat-frames strong, .project-flat-owner strong, .batch-registry-main strong, .batch-detail-heading h3, .project-detail-summary strong, .project-task-table td > strong, .project-task-table td:nth-child(2) > strong, .shape-row strong, .my-task-row strong) { color: #243c55; }
body.light-theme :is(.reference-search, .batch-filter, .stage-select, .project-task-table-wrap, .batch-registry-card, .table-wrap, .project-registry-card) { border-color: rgba(29,55,82,.2); }
body.light-theme :is(.project-flat-row, .project-batch-row, .batch-registry-row, .batch-row, .folder-group-row details, .folder-object-row, .project-task-table td, .project-task-table th, td, th) { border-color: rgba(29,55,82,.12); }
body.light-theme :is(.project-flat-row:hover, .project-flat-row.active, .project-task-row:hover td, .batch-registry-row:hover, .folder-group-row details[open], .folder-object-row:hover) { background: #edf5fd; }
body.light-theme .detail-back { color: #285d91; }
body.light-theme .detail-back:hover,
body.light-theme .detail-publish-button { color: #124b82; }
body.light-theme .project-settings-card { border-color: rgba(40,123,211,.22); background: #ffffff; box-shadow: 0 8px 22px rgba(29,55,82,.06); }
body.light-theme .project-settings-heading h3, body.light-theme .project-label-row strong { color: #243c55; }
body.light-theme .project-label-row { border-color: rgba(29,55,82,.14); background: #f7fbff; }
body.light-theme .project-label-row span { color: #16724f; }
body.light-theme .project-label-row.inactive span { color: #65778b; }
body.light-theme .project-label-form { border-color: rgba(29,55,82,.14); }
body.light-theme .project-label-form label { color: #526b84; }
body.light-theme :is(.project-setting-name-input, .project-label-color-input) { border-color: rgba(29,55,82,.2); color: #243c55; background: #ffffff; }
body.light-theme .project-settings-section { border-color: rgba(29,55,82,.14); }
body.light-theme .project-settings-link { border-color: rgba(29,55,82,.16); color: #243c55; background: #f7fbff; }
body.light-theme .project-settings-tabs { border-color: rgba(29,55,82,.14); }
body.light-theme .project-settings-tabs button { color: #60768d; }
body.light-theme .project-settings-tabs button:hover { color: #285d91; background: #edf5fd; }
body.light-theme .project-settings-tabs button.active { border-color: rgba(40,123,211,.42); color: #1e5a91; background: #e7f2ff; }
body.light-theme .project-settings-link:hover { border-color: rgba(40,123,211,.45); background: #edf5fd; }
body.light-theme .project-settings-link small { color: #60768d; }
body.light-theme .project-hold-reason-row { border-color: rgba(29,55,82,.14); background: #f7fbff; }
body.light-theme .project-hold-reason-form label { color: #526b84; }
body.light-theme .settings-empty { border-color: rgba(40,123,211,.28); color: #526b84; }
body.light-theme .detail-status-button,
body.light-theme .project-stage-tab,
body.light-theme .project-stage-tab strong,
body.light-theme .project-stage-tab.active strong,
body.light-theme .project-task-heading .muted,
body.light-theme .priority-normal { color: #536d87; }
body.light-theme .project-stage-tab:hover,
body.light-theme .project-stage-tab.active { color: #183d63; }
body.light-theme .project-stage-tab.active { border-bottom-color: #287bd3; }
body.light-theme :is(.pipeline-row, .pipeline-row strong, .activity-row strong, .progress-heading strong, .batch-distribution-top, .batch-distribution-top strong) { color: #304b65; }
body.light-theme :is(.pipeline-track, .progress-track, .batch-stage-bar, .batch-stage-empty) { background: #dce5ee; }
body.light-theme :is(.project-status-chip, .status-chip, .role-pill, .count-badge) { border-color: rgba(29,55,82,.22); color: #36516d; background: #eaf1f8; }
body.light-theme .status-chip.available,
body.light-theme .status-chip.submitted,
body.light-theme .status-chip.published { color: #0c6b4b; border-color: rgba(24,131,95,.33); background: #e4f6ef; }
body.light-theme .status-chip.claimed,
body.light-theme .status-chip.admin { color: #17598e; border-color: rgba(40,123,211,.32); background: #e1effc; }
body.light-theme .status-chip.draft,
body.light-theme .status-chip.unpublished { color: #74530a; border-color: rgba(174,116,16,.38); background: #fff5d9; }
body.light-theme :is(.project-row-icon, .batch-row-icon) { color: #1a5f9d; background: #dcebfa; }
body.light-theme .batch-stage-bar::after { border-color: rgba(29,55,82,.22); color: #243c55; background: #ffffff; box-shadow: 0 10px 26px rgba(29,55,82,.16); }
body.light-theme .reference-bell i { border-color: #f8fbff; background: #287bd3; }
body.light-theme .reference-brand-lockup small,
body.light-theme .reference-nav-label { color: #526b84; }
body.light-theme .sidebar-brand-copy strong { color: #1b2b3d; }
body.light-theme .reference-logout:hover,
body.light-theme .reference-bell:hover { color: #163f69; background: #dceafa; }
body.light-theme .annotation-contextbar strong { color: #243c55; }
body.light-theme .annotation-contextbar .muted,
body.light-theme .draft-state,
body.light-theme .shape-label-batch-note,
body.light-theme .shape-context-menu button kbd,
body.light-theme .zoom-level,
body.light-theme .annotation-footer { color: #516b84; }
body.light-theme .draft-state.dirty { color: #825b0c; }
body.light-theme .draft-state.saved { color: #08704b; }
body.light-theme .draft-state.error,
body.light-theme .shape-context-menu button.danger { color: #b42318; }
body.light-theme :is(.shape-label-title, .shape-label-option, .shape-filter label, .shape-row, .shape-row em, .shape-visibility, .my-task-row, .my-task-row small) { color: #38516a; }
body.light-theme :is(.shape-label-option, .shape-visibility.all) { border-color: rgba(29,55,82,.16); background: #f7faff; }
body.light-theme .shape-label-option:hover,
body.light-theme .shape-label-option.active,
body.light-theme .shape-visibility:hover { color: #173d65; border-color: rgba(40,123,211,.3); background: #dcecff; }
body.light-theme .shape-label-title span { color: #1b67aa; }
body.light-theme .shape-filter,
body.light-theme .my-tasks-section,
body.light-theme .annotation-footer,
body.light-theme .annotation-contextbar { border-color: rgba(29,55,82,.12); }
body.light-theme .my-tasks-tabs { border-color: rgba(29,55,82,.14); background: #f8fbff; }.light-theme .my-tasks-tab { color: #526b84; }.light-theme .my-tasks-tab:hover { color: #173d65; background: #edf5fd; }.light-theme .my-tasks-tab.active { border-color: rgba(40,123,211,.28); color: #174d84; background: #dcecff; }.light-theme .my-tasks-tab span:last-child { color: #466782; background: #e5edf5; }.light-theme .my-tasks-tab.active span:last-child { color: #174d84; background: #c8e1fb; }
body.light-theme .sidebar-collapse:hover { color: #173d65; background: #dcecff; }

/* My tasks is a full-width work list, not a nested card. */
.work-queue-list,
.work-task-group { width: 100%; max-width: none; }
.work-task-list-header { padding: 0 0 8px; }
.work-task-rows { overflow: visible; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.work-task-row { min-height: 70px; padding: 10px 12px; background: transparent; }
.work-task-row:first-child { border-top: 0; }
.queue-pagination { width: 100%; margin-top: 0; padding: 12px 0; border-top: 1px solid var(--line); }
body.light-theme .work-task-rows { border-color: rgba(29,55,82,.14); background: transparent; box-shadow: none; }
body.light-theme .work-task-row { background: transparent; border-color: rgba(29,55,82,.12); }
body.light-theme .queue-pagination { border-color: rgba(29,55,82,.14); }
body.light-theme .work-queue-tabs button { color: #49657f; }
body.light-theme .work-queue-tabs button:hover { color: #174d84; }
body.light-theme .work-queue-tabs button.active { color: #124d85; font-weight: 680; }
body.light-theme .work-queue-tabs button.active::after { background: #287bd3; }
body.light-theme .work-queue-tabs span { color: #315d87; background: #dceafa; }
body.light-theme .work-queue-tabs button.active span { color: #0f548f; background: #cfe5fb; }
body.light-theme .stage-chip { color: #405c77; border-color: rgba(29,55,82,.22); background: #edf3f8; }
body.light-theme .stage-todo { color: #425a72; border-color: rgba(66,90,114,.28); background: #edf1f5; }
body.light-theme .stage-annotation { color: #0c5e9f; border-color: rgba(40,123,211,.38); background: #e1f0ff; }
body.light-theme .stage-qc { color: #5c3b9a; border-color: rgba(118,89,204,.35); background: #eee9ff; }
body.light-theme .stage-finished { color: #08704b; border-color: rgba(24,131,95,.34); background: #e3f6ee; }
body.light-theme .stage-delivery, body.light-theme .stage-customer_review { color: #7b5609; border-color: rgba(174,116,16,.36); background: #fff4d7; }
body.light-theme .stage-accepted_delivery { color: #17683d; border-color: rgba(41,143,80,.32); background: #e8f8ee; }
body.light-theme select { color-scheme: light; color: #1b2b3d; background-color: #ffffff; }
body.light-theme select option,
body.light-theme select optgroup { color: #1b2b3d; background-color: #ffffff; }

/* Training center: complete light-mode treatment for lessons, actions, and course states. */
body.light-theme .training-heading,
body.light-theme .training-library-header { border-color: rgba(29,55,82,.14); }
body.light-theme .training-heading h2,
body.light-theme .training-player h3,
body.light-theme .training-lesson h4 { color: #1b2b3d; }
body.light-theme :is(.training-overall span, .training-overall small, .training-lesson-top, .training-course-progress span, .training-course-progress small, .training-library-header small) { color: #526b84; }
body.light-theme .training-overall strong { color: #1d486f; }
body.light-theme .training-progress-track { background: #dce6ef; }
body.light-theme .training-notice { border-color: rgba(174,116,16,.28); color: #694d11; background: #fff6dc; }
body.light-theme .training-notice > span { color: #976408; }
body.light-theme .training-notice button { color: #765a22; }
body.light-theme .training-notice button:hover { color: #3d2e0b; background: #f8e7b4; }
body.light-theme .training-player { border-color: rgba(40,123,211,.22); background: linear-gradient(125deg, #edf6ff, #ffffff 42%), #ffffff; box-shadow: 0 10px 28px rgba(29,55,82,.08); }
body.light-theme .training-player.training-tone-violet { border-color: rgba(118,89,204,.22); background: linear-gradient(125deg, #f3efff, #ffffff 42%), #ffffff; }
body.light-theme .training-player.training-tone-emerald { border-color: rgba(24,131,95,.22); background: linear-gradient(125deg, #ebfaf3, #ffffff 42%), #ffffff; }
body.light-theme .training-player-intro,
body.light-theme .training-step-list { border-color: rgba(29,55,82,.12); }
body.light-theme .training-step-list { background: #f6f9fc; }
body.light-theme .training-player-icon { color: #155a98; background: #dcecff; }
body.light-theme .training-tone-violet .training-player-icon { color: #5e429b; background: #eee9ff; }
body.light-theme .training-tone-emerald .training-player-icon { color: #08714d; background: #e3f6ee; }
body.light-theme .training-kicker { color: #2163a0; }
body.light-theme .training-tone-violet .training-kicker { color: #6645a5; }
body.light-theme .training-tone-emerald .training-kicker { color: #08704b; }
body.light-theme .training-player-intro p,
body.light-theme .training-lesson > p { color: #4d667f; }
body.light-theme .training-change-course { color: #1c619f; }
body.light-theme .training-change-course:hover { color: #103d68; background: #dcecff; }
body.light-theme .training-step { color: #48627c; }
body.light-theme .training-step:not(:disabled):hover { color: #173d65; background: #e8f2fc; }
body.light-theme .training-step > span { border-color: rgba(29,55,82,.2); color: #4f6881; background: #ffffff; }
body.light-theme .training-step.done > span { color: #08704b; border-color: rgba(24,131,95,.35); background: #e3f6ee; }
body.light-theme .training-step.active { color: #124f87; border-color: rgba(40,123,211,.28); background: #dcecff; }
body.light-theme .training-tone-violet .training-step.active { color: #5f429b; border-color: rgba(118,89,204,.28); background: #eee9ff; }
body.light-theme .training-tone-emerald .training-step.active { color: #08704b; border-color: rgba(24,131,95,.28); background: #e3f6ee; }
body.light-theme .training-step small { color: #5b738b; }
body.light-theme .training-live-task { border-color: rgba(174,116,16,.25); background: #fff7df; }
body.light-theme .training-live-task > span { color: #976408; }
body.light-theme .training-live-task strong { color: #674b10; }
body.light-theme .training-live-task small { color: #795d20; }
body.light-theme .training-course-library { border-color: rgba(29,55,82,.16); background: #ffffff; box-shadow: 0 10px 28px rgba(29,55,82,.06); }
body.light-theme .training-course-row { border-color: rgba(29,55,82,.12); }
body.light-theme .training-course-row:hover,
body.light-theme .training-course-row.selected { background: #eef6fd; }
body.light-theme .training-course-index { color: #59728c; }
body.light-theme .training-course-icon { color: #155a98; background: #dcecff; }
body.light-theme .training-course-icon.training-tone-violet { color: #5e429b; background: #eee9ff; }
body.light-theme .training-course-icon.training-tone-emerald { color: #08704b; background: #e3f6ee; }
body.light-theme .training-course-copy strong { color: #243c55; }
body.light-theme .training-course-copy p,
body.light-theme .training-course-copy small { color: #587088; }
body.light-theme .training-level { color: #195e9d; border-color: rgba(40,123,211,.26); background: #e3f0fc; }
body.light-theme .training-course-action { color: #155b9a; }

/* The page-size control is custom so its menu always follows the platform theme. */
.queue-page-size-picker { position: relative; display: inline-flex; align-items: center; gap: 7px; }
.queue-page-size-trigger { display: inline-flex; min-width: 56px; height: 28px; align-items: center; justify-content: space-between; gap: 7px; padding: 0 8px; border: 1px solid rgba(255,255,255,.14); border-radius: 7px; color: #c3d1e0; background: rgba(255,255,255,.035); font-size: 10px; }
.queue-page-size-trigger:hover,
.queue-page-size-trigger[aria-expanded="true"] { border-color: rgba(113,183,255,.42); color: #e2effd; background: rgba(113,183,255,.1); }
.queue-page-size-caret { color: #89a2bb; font-size: 12px; line-height: 1; }
.queue-page-size-menu { position: absolute; z-index: 24; bottom: calc(100% + 5px); left: 74px; display: grid; min-width: 64px; padding: 4px; border: 1px solid rgba(137,168,198,.34); border-radius: 9px; background: #18212d; box-shadow: 0 10px 24px rgba(0,0,0,.32); }
.queue-page-size-menu button { min-height: 26px; padding: 0 8px; border: 0; border-radius: 6px; color: #cedbea; background: transparent; font-size: 10px; text-align: left; }
.queue-page-size-menu button:hover,
.queue-page-size-menu button.selected { color: #f3f8ff; background: rgba(113,183,255,.16); }
body.light-theme .queue-page-size-trigger { border-color: rgba(29,55,82,.24); color: #294861; background: #ffffff; }
body.light-theme .queue-page-size-trigger:hover,
body.light-theme .queue-page-size-trigger[aria-expanded="true"] { border-color: rgba(40,123,211,.48); color: #124d85; background: #e8f3fe; }
body.light-theme .queue-page-size-caret { color: #315d87; }
body.light-theme .queue-page-size-menu { border-color: rgba(29,55,82,.22); background: #ffffff; box-shadow: 0 10px 24px rgba(29,55,82,.2); }
body.light-theme .queue-page-size-menu button { color: #294861; }
body.light-theme .queue-page-size-menu button:hover,
body.light-theme .queue-page-size-menu button.selected { color: #124d85; background: #dcecff; }

/* Rework markers remain visible in either task-list theme. */
.rework-chip { display: inline-flex; width: max-content; align-items: center; padding: 3px 6px; border: 1px solid rgba(245,111,98,.4); border-radius: 999px; color: #ffaaa0; background: rgba(201,67,56,.13); font-size: 9px; line-height: 1; white-space: nowrap; }
.package-downloaded-chip { display: inline-flex; width: max-content; align-items: center; margin-left: 4px; padding: 3px 6px; border: 1px solid rgba(120,215,178,.34); border-radius: 999px; color: #a9ead0; background: rgba(120,215,178,.1); font-size: 9px; line-height: 1; white-space: nowrap; }
.work-task-meta { align-content: center; }
.work-task-record-state { justify-self: end; color: #7c8fa5; font-size: 10px; }
body.light-theme .rework-chip { border-color: rgba(180,35,24,.34); color: #a62c22; background: #fff0ee; }
body.light-theme .package-downloaded-chip { border-color: rgba(45,143,101,.3); color: #176343; background: #e2f7ee; }
body.light-theme .work-task-record-state { color: #526b84; }

/* Manager queue uses the same flat task rows while retaining allocation details. */
.platform-stage-tabs { margin-bottom: 12px; }
.platform-bulk-bar { position: fixed; z-index: 40; left: 50%; bottom: 22px; display: flex; width: min(960px, calc(100vw - 72px)); align-items: center; justify-content: flex-start; gap: 12px; padding: 10px 13px; border: 1px solid rgba(116,181,245,.28); border-radius: 13px; color: #d7e6f7; background: rgba(13,21,33,.94); box-shadow: 0 16px 36px rgba(0,0,0,.34); backdrop-filter: blur(14px); transform: translateX(-50%); }
.platform-bulk-bar[hidden] { display: none !important; }
.platform-bulk-summary { display: flex; min-width: max-content; align-items: center; gap: 3px; }
.platform-bulk-summary strong { color: #e5f0fc; font-size: 11px; font-weight: 650; }
.platform-bulk-summary .muted { display: none; }
.platform-assignment-controls, .platform-stage-bulk-controls { display: flex; align-items: end; gap: 10px; }
.platform-assignment-controls { min-width: 0; }
.platform-assignment-controls .field-inline { min-width: 240px; }
.platform-stage-bulk-controls { flex-wrap: wrap; justify-content: flex-end; margin-left: auto; }
.stage-bulk-action { white-space: nowrap; }
.bulk-assignee-control { position: relative; display: flex; align-items: center; }.bulk-assignee-menu { position: absolute; z-index: 42; bottom: calc(100% + 9px); left: 0; display: grid; width: 220px; gap: 8px; padding: 10px; border: 1px solid rgba(116,181,245,.3); border-radius: 10px; color: #d8e7f5; background: rgba(13,21,33,.98); box-shadow: 0 14px 32px rgba(0,0,0,.38); }.bulk-assignee-menu > span { color: #91a6bc; font-size: 9px; }.bulk-assignee-menu > div { display: grid; gap: 3px; max-height: 210px; overflow: auto; }.bulk-assignee-menu button { display: flex; min-height: 34px; align-items: center; gap: 8px; padding: 4px 8px; border: 0; border-radius: 7px; color: #dbe9f6; background: transparent; font-size: 10px; text-align: left; }.bulk-assignee-menu button:hover { color: #fff; background: rgba(113,183,255,.15); }.bulk-assignee-menu small { color: #8295ac; font-size: 9px; }.bulk-assignee-menu .assignee-person { flex: 1; }
.platform-task-list { max-width: none; }
.platform-task-row { grid-template-columns: 30px minmax(280px, 1fr) 190px 60px; min-height: 70px; }
.task-assignment-control { position: relative; min-width: 0; }
.task-assignee-trigger { display: flex; width: 100%; min-height: 31px; align-items: center; overflow: hidden; padding: 5px 8px; border: 1px solid rgba(113,183,255,.3); border-radius: 7px; color: #9fcaff; background: rgba(113,183,255,.08); font-size: 10px; text-align: left; }
.task-assignee-trigger:hover, .task-assignee-trigger[aria-expanded="true"] { border-color: rgba(113,183,255,.6); color: #e6f3ff; background: rgba(113,183,255,.16); }
.task-assignee-trigger.assigned { color: #d4e4f6; }.task-assignee-trigger.unassigned { border-color: rgba(143,161,181,.24); color: #7f91a4; background: rgba(143,161,181,.055); }.assignee-person, .assignee-empty { display: flex; min-width: 0; align-items: center; gap: 6px; }.assignee-person > span, .assignee-empty > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.assignee-person i, .assignee-empty i { display: grid; width: 17px; height: 17px; flex: 0 0 auto; place-items: center; border-radius: 50%; font-size: 7px; font-style: normal; font-weight: 800; line-height: 1; }.assignee-person i { color: #fff; background: var(--assignee-accent); }.assignee-empty i { color: #95a4b3; background: rgba(151,166,183,.16); }
.task-assignee-menu { position: absolute; z-index: 28; top: calc(100% + 6px); right: 0; display: grid; width: 238px; gap: 9px; padding: 10px; border: 1px solid rgba(126,173,218,.36); border-radius: 10px; background: #172232; box-shadow: 0 14px 28px rgba(0,0,0,.34); }
.task-assignee-menu > span { color: #9aacc2; font-size: 9px; }
.task-assignee-options { display: grid; gap: 4px; }
.task-assignee-choice { display: flex; width: 100%; min-height: 34px; align-items: center; gap: 8px; padding: 4px 8px; border: 1px solid transparent; border-radius: 6px; color: #d5e4f5; background: transparent; font-size: 10px; text-align: left; }.task-assignee-choice .assignee-person { flex: 1; }.task-assignee-choice small { color: #8295ac; font-size: 9px; white-space: nowrap; }
.task-assignee-choice:hover, .task-assignee-choice.current { border-color: rgba(113,183,255,.24); color: #eff7ff; background: rgba(113,183,255,.12); }
.task-assignee-menu .ghost { align-self: end; min-height: 27px; padding: 0 9px; font-size: 10px; }
.task-assignment-readonly { color: #718399; font-size: 11px; }
.platform-stage-stepper { display: flex; justify-self: end; align-items: center; gap: 4px; }
.platform-stage-step { display: grid; width: 22px; height: 22px; place-items: center; padding: 0; border: 1px solid rgba(113,183,255,.24); border-radius: 6px; color: #a8cdf3; background: rgba(113,183,255,.07); font-size: 13px; line-height: 1; }
.platform-stage-step:hover:not(:disabled) { border-color: rgba(113,183,255,.52); color: #eff7ff; background: rgba(113,183,255,.18); }
.platform-stage-step:disabled { cursor: default; opacity: .3; }
body.light-theme .task-assignee-trigger { border-color: rgba(40,123,211,.35); color: #155b9a; background: #edf6ff; }
body.light-theme .task-assignee-trigger:hover, body.light-theme .task-assignee-trigger[aria-expanded="true"] { border-color: rgba(40,123,211,.65); color: #0d477c; background: #dcecff; }
body.light-theme .task-assignee-trigger.assigned { color: #1c3e60; }body.light-theme .task-assignee-trigger.unassigned { border-color: rgba(93,111,130,.2); color: #708196; background: #f5f7fa; }.light-theme .assignee-empty i { color: #7c8b9a; background: #e4eaf0; }.light-theme .project-assignment-filter { border-color: rgba(29,55,82,.16); background: #f7f9fc; }.light-theme .project-assignment-filter > span { color: #61778d; }.light-theme .project-assignment-filter .assignment-filter-option { color: #5b7188; }.light-theme .project-assignment-filter .assignment-filter-option:hover { color: #164f84; background: #eaf3fc; }.light-theme .project-assignment-filter .assignment-filter-option.active { color: #124f85; background: #dcecff; box-shadow: inset 0 0 0 1px rgba(40,123,211,.3); }
body.light-theme .task-assignee-menu { border-color: rgba(29,55,82,.24); background: #ffffff; box-shadow: 0 14px 28px rgba(29,55,82,.2); }
body.light-theme .task-assignee-menu > span { color: #526b84; }
body.light-theme .task-assignee-choice { color: #1c3e60; }
body.light-theme .task-assignee-choice:hover, body.light-theme .task-assignee-choice.current { border-color: rgba(40,123,211,.3); color: #0d477c; background: #e7f3ff; }
body.light-theme .task-assignment-readonly { color: #65778b; }
body.light-theme .platform-bulk-bar { border-color: rgba(40,123,211,.34); color: #1b3955; background: rgba(255,255,255,.96); box-shadow: 0 16px 36px rgba(29,55,82,.2); }
body.light-theme .platform-bulk-summary strong { color: #1e3d5b; }
body.light-theme .customer-pass-button { color: #fff; border-color: #18835f; background: #18835f; box-shadow: none; }.light-theme .customer-reject-button { color: #a62c22; border-color: rgba(180,35,24,.34); background: #fff0ee; }.light-theme .customer-reject-button:hover:not(:disabled) { color: #fff; background: #b42318; }
body.light-theme .customer-delivery-table-header { color: #65778b; background: #f7fbff; }.light-theme .customer-column-filter > button { color: #46637f; }.light-theme .customer-column-filter > button:hover, .light-theme .customer-column-filter > button[aria-expanded="true"] { color: #174d84; background: #eaf4fd; }.light-theme .customer-column-filter-menu { border-color: rgba(29,55,82,.18); background: #fff; box-shadow: 0 13px 28px rgba(29,55,82,.17); }.light-theme .customer-column-filter-menu button { color: #36516b; }.light-theme .customer-column-filter-menu button:hover, .light-theme .customer-column-filter-menu button.active { color: #124f85; background: #e4f1fc; }
body.light-theme .customer-column-sort { color: #46637f; }.light-theme .customer-column-sort:hover { color: #174d84; background: #eaf4fd; }
body.light-theme .platform-dialog-backdrop { background: rgba(28,48,70,.34); }.light-theme .platform-dialog { border-color: rgba(29,55,82,.2); color: #29435d; background: #fff; box-shadow: 0 22px 70px rgba(29,55,82,.24); }.light-theme .platform-dialog-heading h2 { color: #1b2b3d; }.light-theme .platform-dialog-heading p { color: #5d7289; }.light-theme .platform-dialog-input { color: #39536d; }.light-theme .platform-dialog-input textarea { border-color: rgba(29,55,82,.2); color: #243d56; background: #f8fbfe; }.light-theme .platform-dialog-error { color: #b42318; }
.light-theme .platform-dialog-input select, .light-theme .platform-dialog-input select option { border-color: rgba(29,55,82,.2); color: #243d56; background: #f8fbfe; color-scheme: light; }.light-theme .stage-hold { border-color: #edb566; color: #895317; background: #fff4de; }.light-theme .task-hold-details { color: #80521c; }.light-theme .task-hold-details strong { color: #684112; }.light-theme .task-hold-details small { color: #62778d; }.light-theme .task-hold-action { border-color: #e7b15e; color: #80521c; background: #fff6e4; }.light-theme .task-resume-action { border-color: #79c8a2; color: #0c6b47; background: #e5f6ed; }
.light-theme .platform-dialog-choice-options button { border-color: rgba(29,55,82,.18); color: #38546e; background: #f8fbfe; }.light-theme .platform-dialog-choice-options button:hover { border-color: rgba(40,123,211,.42); background: #edf6ff; }.light-theme .platform-dialog-choice-options button > span { border-color: #7892ab; }.light-theme .platform-dialog-choice-options button.selected { border-color: #72ade6; color: #124c83; background: #e0efff; }.light-theme .platform-dialog-choice-options button.selected > span { border-color: #6daae2; background: #287bd3; box-shadow: 0 0 0 1px #fff; }
.light-theme .platform-dialog-checklist-wrap { color: #39536d; }.light-theme .platform-dialog-checklist { border-color: rgba(29,55,82,.2); background: #f8fbfe; }.light-theme .platform-dialog-checklist label { border-color: rgba(29,55,82,.12); }.light-theme .platform-dialog-checklist label:hover { background: #edf6ff; }.light-theme .platform-dialog-checklist strong { color: #1c3852; }.light-theme .platform-dialog-checklist small { color: #61788e; }
body.light-theme .platform-bulk-summary .muted { color: #526b84; }
body.light-theme .bulk-assignee-menu { border-color: rgba(29,55,82,.18); color: #2d4862; background: #fff; box-shadow: 0 14px 32px rgba(29,55,82,.17); }.light-theme .bulk-assignee-menu > span, .light-theme .bulk-assignee-menu small { color: #647c94; }.light-theme .bulk-assignee-menu button { color: #31506d; }.light-theme .bulk-assignee-menu button:hover { color: #123f6a; background: #eaf4fd; }
body.light-theme .platform-stage-step { border-color: rgba(40,123,211,.3); color: #155b9a; background: #edf6ff; }
body.light-theme .platform-stage-step:hover:not(:disabled) { border-color: rgba(40,123,211,.62); color: #0d477c; background: #dcecff; }
.right-annotation-sidebar { display: flex; min-height: 0; overflow: hidden; }.right-annotation-sidebar .my-tasks-section { display: flex; min-height: 0; flex: 1; flex-direction: column; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.06); }.my-task-list { display: grid; min-width: 0; min-height: 320px; flex: 1; align-content: start; grid-auto-rows: min-content; gap: 4px; margin-top: 9px; overflow-x: hidden; overflow-y: auto; }.my-task-row { box-sizing: border-box; width: 100%; min-width: 0; padding: 7px 8px; border: 1px solid transparent; border-radius: 7px; color: #acbdd0; background: transparent; text-align: left; }.my-task-row:hover { background: rgba(255,255,255,.045); }.my-task-row.active { border-color: rgba(122,185,250,.25); background: rgba(85,151,225,.12); }.my-task-row-heading { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 7px; }.my-task-row strong, .my-task-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.my-task-row strong { color: #cfdeef; font-size: 10px; font-weight: 650; }.my-task-row small { margin-top: 3px; color: #71849c; font-size: 9px; }.my-task-status { flex: 0 0 auto; padding: 2px 5px; border: 1px solid rgba(142,177,215,.2); border-radius: 99px; color: #9bacbf; background: rgba(255,255,255,.035); font-size: 8px; font-style: normal; font-weight: 700; line-height: 1.1; text-transform: uppercase; letter-spacing: .035em; }.my-task-status.active { border-color: rgba(99,173,245,.35); color: #b9ddff; background: rgba(75,148,224,.13); }.my-task-status.submitted { border-color: rgba(239,192,90,.35); color: #f1d58b; background: rgba(216,160,43,.13); }.my-task-status.rework { border-color: rgba(239,116,102,.38); color: #ffb4ac; background: rgba(211,76,63,.15); }.my-task-status.finished { border-color: rgba(111,207,159,.32); color: #a8e7c4; background: rgba(65,175,116,.13); }.shape-row em { display: inline-block; margin-left: 5px; color: #d4b979; font-size: 9px; font-style: normal; font-weight: 500; }
.my-tasks-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; margin-top: 10px; padding: 3px; border: 1px solid rgba(255,255,255,.07); border-radius: 8px; background: rgba(255,255,255,.025); }.my-tasks-tab { display: inline-flex; min-width: 0; min-height: 27px; align-items: center; justify-content: center; gap: 5px; padding: 0 5px; border: 1px solid transparent; border-radius: 6px; color: #8294a9; background: transparent; font-size: 9px; font-weight: 680; }.my-tasks-tab:hover { color: #d9e8f6; background: rgba(255,255,255,.045); }.my-tasks-tab.active { border-color: rgba(116,183,255,.25); color: #d8edff; background: rgba(81,153,226,.16); }.my-tasks-tab span:last-child { display: inline-grid; min-width: 14px; height: 14px; place-items: center; border-radius: 99px; color: #9fb9d3; background: rgba(255,255,255,.08); font-size: 8px; font-variant-numeric: tabular-nums; }.my-tasks-tab.active span:last-child { color: #e2f1ff; background: rgba(113,183,255,.22); }
.annotator-layout { grid-template-columns: 220px minmax(0, 1fr) 220px; }.right-annotation-sidebar { border-right: 0; border-left: 1px solid var(--line); }.annotation-sidebar { position: relative; padding-top: 48px; }.annotation-sidebar .tool-section { margin-top: 0; }.sidebar-collapse { position: absolute; z-index: 3; top: 11px; width: 21px; height: 21px; padding: 0; border: 1px solid rgba(255,255,255,.1); border-radius: 6px; color: #98acc4; background: rgba(13,20,31,.88); font-size: 16px; line-height: 1; }.left-annotation-sidebar .sidebar-collapse { right: 8px; }.right-annotation-sidebar .sidebar-collapse { left: 8px; }.right-annotation-sidebar .my-tasks-section { margin-top: 0; }.annotation-sidebar.collapsed { width: 34px; min-width: 34px; padding: 0; overflow: hidden; }.annotation-sidebar.collapsed > :not(.sidebar-collapse) { display: none; }.annotation-sidebar.collapsed .sidebar-collapse { right: 6px; left: auto; }.right-annotation-sidebar.collapsed .sidebar-collapse { right: auto; left: 6px; }.annotator-layout:has(.left-annotation-sidebar.collapsed) { grid-template-columns: 34px minmax(0, 1fr) 220px; }.annotator-layout:has(.right-annotation-sidebar.collapsed) { grid-template-columns: 220px minmax(0, 1fr) 34px; }.annotator-layout:has(.left-annotation-sidebar.collapsed):has(.right-annotation-sidebar.collapsed) { grid-template-columns: 34px minmax(0, 1fr) 34px; }
/* Compact, stable Shapes rail: controls stay visible without taking canvas space. */
.annotation-sidebar { padding-top: 16px; }
.shape-section .panel-title-row { min-height: 28px; padding-right: 27px; }
.shape-filter { display: grid; gap: 8px; margin: 9px 0 8px; padding: 9px; border: 1px solid rgba(255,255,255,.075); border-radius: 9px; background: rgba(255,255,255,.025); }
.shape-filter-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.shape-filter-heading > span { width: auto; color: #8298b1; font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.shape-filter-heading button { min-height: 18px; padding: 0; border: 0; color: #8fc2ff; background: transparent; font-size: 9px; font-weight: 650; }
.shape-filter-heading button:hover:not(:disabled) { color: #d9ecff; }
.shape-filter-heading button:disabled { cursor: default; color: #63768b; }
.shape-filter-actions { display: inline-flex; align-items: center; gap: 7px; }.shape-filter-heading .shape-visibility { display: grid; width: 22px; min-height: 22px; height: 22px; place-items: center; padding: 0; border: 1px solid rgba(151,192,234,.18); border-radius: 6px; color: #9cb5d0; background: rgba(255,255,255,.03); }.shape-filter-heading .shape-visibility:hover { color: #dceeff; border-color: rgba(131,191,250,.42); background: rgba(99,166,234,.12); }.shape-filter-heading .shape-visibility svg { width: 13px; height: 13px; }
.shape-filter-heading .label-visibility-icon { position: relative; color: currentColor; font-size: 9px; font-weight: 800; letter-spacing: -.08em; line-height: 1; }.shape-filter-heading .label-visibility-icon.is-hidden::after { position: absolute; top: 50%; right: -1px; left: -1px; height: 1px; background: currentColor; content: ""; transform: rotate(-28deg); transform-origin: center; }
body.light-theme .shape-filter-heading .shape-visibility { border-color: rgba(29,55,82,.16); color: #3c6289; background: #f7faff; }.light-theme .shape-filter-heading .shape-visibility:hover { color: #173d65; border-color: rgba(40,123,211,.3); background: #dcecff; }
.shape-filter-options { display: flex; flex-wrap: wrap; gap: 5px; }
.shape-filter-chip { position: relative; display: inline-flex; min-height: 24px; align-items: center; gap: 5px; padding: 0 7px; border: 1px solid rgba(255,255,255,.07); border-radius: 99px; color: #708297; background: transparent; font-size: 9px; cursor: pointer; transition: .14s ease; }
.shape-filter-chip.active { border-color: rgba(117,183,255,.22); color: #bdcee0; background: rgba(97,165,237,.11); }
.shape-filter-chip:hover { border-color: rgba(135,195,255,.35); color: #e4f0fb; }
.shape-filter-chip input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.shape-filter-chip i { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; }
.shape-filter-chip span { white-space: nowrap; }
.shape-list { gap: 5px; margin-top: 6px; }
.shape-row { display: grid; grid-template-columns: minmax(0, 1fr) 28px; width: 100%; min-width: 0; align-items: center; gap: 2px; padding: 3px; }
.shape-select { display: grid; grid-template-columns: 8px minmax(0, 1fr); width: 100%; min-width: 0; align-items: center; gap: 8px; }
.shape-select > span { min-width: 0; }
.shape-visibility { justify-self: end; align-self: center; }
body.light-theme .shape-filter { border-color: rgba(29,55,82,.14); background: #f8fbff; }
body.light-theme .shape-filter-heading > span { color: #3c6289; }
body.light-theme .shape-filter-heading button { color: #1769ad; }
body.light-theme .shape-filter-chip { border-color: rgba(29,55,82,.13); color: #667d95; }
body.light-theme .shape-filter-chip.active { border-color: rgba(40,123,211,.28); color: #244c75; background: #e8f3ff; }
/* Sidebar header alignment: every title and control shares one deliberate row. */
.shape-section .panel-title-row,
.right-annotation-sidebar .my-tasks-section .panel-title-row { display: flex; min-height: 32px; align-items: center; gap: 8px; }
.shape-section .panel-title-row { justify-content: flex-start; padding-right: 28px; gap: 2px; }
.shape-panel-actions { height: 28px; margin-left: 0; gap: 5px; }
.shape-section .count-badge { display: grid; box-sizing: border-box; width: 28px; height: 28px; place-items: center; padding: 0; font-size: 10px; line-height: 1; }
.shape-section .shape-visibility { width: 28px; height: 28px; }
.right-annotation-sidebar .sidebar-collapse { right: 8px; left: auto; }
.right-annotation-sidebar .my-tasks-section .panel-title-row { padding-right: 28px; }
.right-annotation-sidebar.collapsed .sidebar-collapse { right: auto; left: 6px; }
/* A mask action always belongs to the full-width row, never to its text width. */
.shape-list { display: block; width: 100%; }
.shape-list .shape-row { position: relative; display: block; box-sizing: border-box; width: 100%; min-height: 34px; margin-bottom: 5px; padding: 3px 34px 3px 3px; }
.shape-list .shape-select { box-sizing: border-box; width: 100%; }
.shape-list .shape-visibility { position: absolute; top: 50%; right: 3px; width: 28px; height: 28px; margin: 0; transform: translateY(-50%); }
.shape-list .orphaned-feedback-row .feedback-comment { overflow: visible; white-space: normal; overflow-wrap: anywhere; }
.shape-list .orphaned-feedback-row .reassign-qc-feedback { display: inline-flex; min-height: 26px; align-items: center; margin: 5px 0 4px 16px; padding: 3px 8px; border: 1px solid rgba(126,188,249,.42); border-radius: 7px; color: #b9ddfa; background: rgba(61,124,189,.16); font-size: 10px; font-weight: 700; cursor: pointer; }
.shape-list .orphaned-feedback-row .reassign-qc-feedback:hover:not(:disabled) { border-color: rgba(169,217,255,.75); color: #ecf7ff; background: rgba(79,146,216,.3); }
.shape-list .orphaned-feedback-row .reassign-qc-feedback:disabled { opacity: .52; cursor: not-allowed; }
body.light-theme .shape-list .orphaned-feedback-row .reassign-qc-feedback { color: #245786; border-color: rgba(52,125,198,.4); background: #e7f2ff; }
.qc-feedback-issue-options button:disabled, .verify-history-feedback:disabled { opacity: .42; cursor: not-allowed; }
.rework-instructions-panel, .open-feedback-panel { display: grid; gap: 8px; margin-top: 12px; padding: 10px; border-radius: 9px; }.rework-instructions-panel { border: 1px solid rgba(240,99,87,.32); background: rgba(181,55,46,.09); }.open-feedback-panel { border: 1px solid rgba(113,183,255,.24); background: rgba(70,132,198,.07); }.rework-panel-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; }.rework-panel-heading > span { color: #ffaaa0; font-size: 8px; font-weight: 800; letter-spacing: .09em; }.open-feedback-panel .rework-panel-heading > span { color: #9bc8f2; }.rework-panel-heading small { color: #8191a5; font-size: 8px; }.rework-instruction-list, .open-feedback-list { display: grid; gap: 6px; }.rework-instruction-list article { padding: 7px; border-left: 2px solid #e96359; background: rgba(0,0,0,.13); }.rework-instruction-list article small { display: block; color: #c3a8aa; font-size: 8px; }.rework-instruction-list article p { margin-top: 5px; color: #f0d7d5; font-size: 10px; line-height: 1.45; white-space: pre-wrap; word-break: break-word; }.open-feedback-card { width: 100%; padding: 7px; border: 1px solid rgba(113,183,255,.13); border-left: 2px solid #74b9ef; color: #c7d9e9; background: rgba(5,13,22,.22); text-align: left; }.open-feedback-card:hover, .open-feedback-card.active { border-color: rgba(149,206,250,.72); background: rgba(86,154,215,.16); }.open-feedback-card.active { box-shadow: 0 0 0 1px rgba(133,196,246,.2), 0 0 15px rgba(91,161,225,.16); }.open-feedback-card strong, .open-feedback-card small { display: block; }.open-feedback-card strong { color: #dcecf9; font-size: 9px; }.open-feedback-card small { margin-top: 3px; color: #8ea5bb; font-size: 8px; }.open-feedback-card p { margin-top: 5px; color: #bdd0df; font-size: 9px; line-height: 1.42; white-space: pre-wrap; word-break: break-word; }
/* The stage defines stable scroll bounds; the canvas is positioned inside it without layout drift. */
.annotation-canvas-wrap { display: block; padding: 0; overflow: auto; place-items: normal; align-items: normal; justify-items: normal; }
.annotation-main { position: relative; min-height: 0; overflow: hidden; }
.annotation-canvas-stage { position: relative; min-width: 100%; min-height: 100%; }
.annotation-canvas-wrap canvas { position: absolute; display: block; max-width: none; max-height: none; user-select: none; -webkit-user-drag: none; }
.annotation-canvas-wrap.is-panning, .annotation-canvas-wrap.is-panning canvas { cursor: grabbing; }
.annotation-canvas-wrap:is(.is-navigating, .is-panning) > :is(.shape-label-popover, .qc-feedback-popover) { visibility: hidden; }
.annotation-canvas-wrap.brush-active canvas { cursor: none; }
.annotation-canvas-wrap canvas:focus-visible { outline: 2px solid #70b7ff; outline-offset: 2px; }
#annotation-empty { position: absolute; inset: 0; z-index: 1; }
.annotation-view-controls { position: absolute; z-index: 40; top: 54px; right: 14px; display: flex; align-items: center; gap: 6px; pointer-events: auto; }
.point-controls { display: inline-flex; min-height: 31px; align-items: center; padding: 0 9px; border: 1px solid rgba(151,192,234,.24); border-radius: 8px; background: rgba(12,20,31,.94); box-shadow: 0 6px 18px rgba(0,0,0,.22); }
.point-controls[hidden] { display: none; }
.point-controls label { display: inline-flex; align-items: center; gap: 6px; color: #c8d7e7; font-size: 10px; font-weight: 650; white-space: nowrap; }
.point-controls input { width: 86px; min-width: 86px; height: 18px; margin: 0; padding: 0; appearance: none; -webkit-appearance: none; background: transparent; cursor: ew-resize; }
.point-controls { border-color: rgba(124,189,255,.33); }.point-controls label { color: #bcdaf7; }.point-controls input::-webkit-slider-runnable-track { height: 4px; border-radius: 999px; background: rgba(111,178,247,.42); }.point-controls input::-webkit-slider-thumb { width: 14px; height: 14px; margin-top: -5px; appearance: none; -webkit-appearance: none; border: 2px solid #dceeff; border-radius: 50%; background: #5b9fe5; box-shadow: 0 1px 4px rgba(0,0,0,.36); }.point-controls input::-moz-range-track { height: 4px; border-radius: 999px; background: rgba(111,178,247,.42); }.point-controls input::-moz-range-thumb { width: 10px; height: 10px; border: 2px solid #dceeff; border-radius: 50%; background: #5b9fe5; box-shadow: 0 1px 4px rgba(0,0,0,.36); }.point-controls output { min-width: 24px; color: #d8ebff; font-variant-numeric: tabular-nums; }
.canvas-display { position: absolute; z-index: 40; bottom: 42px; left: 14px; width: 232px; overflow: hidden; border: 1px solid rgba(151,192,234,.28); border-radius: 10px; background: rgba(12,20,31,.94); box-shadow: 0 8px 22px rgba(0,0,0,.27); pointer-events: auto; }
.canvas-display:has(.canvas-display-reset) { width: 280px; }
.canvas-display-row { display: grid; grid-template-columns: minmax(0, 1fr) 42px; align-items: center; gap: 6px; }
.canvas-display-row > label { min-width: 0; }
.canvas-display-reset { min-height: 24px; padding: 3px 4px; border: 1px solid rgba(151,192,234,.3); border-radius: 5px; color: #c5def8; background: rgba(113,183,255,.08); font: inherit; font-size: 9px; cursor: pointer; }
.canvas-display-reset:hover { border-color: #70b7ff; background: rgba(113,183,255,.18); }
.canvas-display-reset:focus-visible { outline: 2px solid #70b7ff; outline-offset: 1px; }
body.light-theme .canvas-display-reset { color: #245984; border-color: #b5cce2; background: #edf5fd; }
body.light-theme .canvas-display-reset:hover { border-color: #287bd3; background: #dcecff; }
.canvas-display-toggle { display: flex; width: 100%; min-height: 33px; align-items: center; justify-content: space-between; padding: 7px 10px 6px; border: 0; color: #d8e9fa; background: transparent; font-size: 11px; font-weight: 760; letter-spacing: .02em; text-align: left; }.canvas-display-toggle:hover { color: #ffffff; background: rgba(113,183,255,.1); }.canvas-display-caret { display: inline-grid; width: 17px; height: 17px; place-items: center; border-radius: 5px; color: #9ec9f3; font-size: 15px; line-height: 1; transition: transform .16s ease; }.canvas-display-toggle.collapsed .canvas-display-caret { transform: rotate(-90deg); }
.canvas-display-controls { display: grid; gap: 8px; padding: 1px 10px 10px; }.canvas-display-controls[hidden] { display: none; }.canvas-display-controls label { display: grid; grid-template-columns: 65px minmax(0, 1fr) 38px; align-items: center; gap: 7px; color: #c8d7e7; font-size: 10px; font-weight: 650; white-space: nowrap; }.canvas-display-controls input { width: 100%; min-width: 0; height: 18px; margin: 0; padding: 0; appearance: none; -webkit-appearance: none; background: transparent; cursor: ew-resize; }.canvas-display-controls input::-webkit-slider-runnable-track { height: 4px; border-radius: 999px; background: rgba(118,181,240,.44); }.canvas-display-controls input::-webkit-slider-thumb { width: 14px; height: 14px; margin-top: -5px; appearance: none; -webkit-appearance: none; border: 2px solid #dceeff; border-radius: 50%; background: #5b9fe5; box-shadow: 0 1px 4px rgba(0,0,0,.36); }.canvas-display-controls input::-moz-range-track { height: 4px; border-radius: 999px; background: rgba(118,181,240,.44); }.canvas-display-controls input::-moz-range-thumb { width: 10px; height: 10px; border: 2px solid #dceeff; border-radius: 50%; background: #5b9fe5; box-shadow: 0 1px 4px rgba(0,0,0,.36); }.canvas-display-controls output { color: #b8d8f5; font-variant-numeric: tabular-nums; text-align: right; }
body.light-theme .point-controls, body.light-theme .canvas-display { border-color: rgba(29,55,82,.18); background: rgba(255,255,255,.97); box-shadow: 0 6px 18px rgba(29,55,82,.12); }.light-theme .point-controls label, .light-theme .canvas-display-controls label { color: #405b75; }.light-theme .point-controls output, .light-theme .canvas-display-controls output { color: #245984; }.light-theme .canvas-display-toggle { color: #244a70; }.light-theme .canvas-display-toggle:hover { color: #123f68; background: #e8f3ff; }.light-theme .canvas-display-caret { color: #3778b8; }.light-theme .canvas-display-controls input::-webkit-slider-runnable-track, .light-theme .canvas-display-controls input::-moz-range-track { background: #c9d9e8; }.light-theme .canvas-display-controls input::-webkit-slider-thumb, .light-theme .canvas-display-controls input::-moz-range-thumb { border-color: #ffffff; background: #287bd3; }
@media (max-width: 1120px) { .annotator-layout { grid-template-columns: 190px minmax(0, 1fr); }.draft-state { display: none; }.workbench-quiet-action { padding: 0 8px; } }
@media (max-width: 1300px) { .workbench-tool-group { gap: 3px; padding-right: 6px; }.workbench-tool-button, .workbench-quiet-action, .workbench-save, .workbench-submit { gap: 5px; padding-right: 8px; padding-left: 8px; }.workbench-tools button kbd, .workbench-actions button kbd { display: none; } }
@media (max-width: 860px) { .annotator-workbench-topbar { align-items: flex-start; flex-direction: column; gap: 7px; padding: 9px 12px; }.workbench-tools, .workbench-actions { width: 100%; justify-content: space-between; }.workbench-tools { flex-wrap: wrap; row-gap: 5px; }.workbench-actions { justify-content: flex-end; }.workbench-tool-group { padding-right: 5px; }.workbench-sam3-actions { border-right: 0; }.annotator-layout { height: calc(100vh - 108px); } }
.shortcut-popover { position: fixed; z-index: 80; width: min(640px, calc(100vw - 24px)); }.shortcut-popover[hidden] { display: none; }.shortcut-modal-window { width: 100%; max-height: min(680px, calc(100vh - 90px)); overflow: auto; border-color: rgba(151,192,234,.22); box-shadow: 0 18px 46px rgba(0,0,0,.35); }.shortcut-modal-window .modal-heading { position: sticky; z-index: 1; top: 0; padding: 18px 20px 14px; border-bottom: 1px solid rgba(255,255,255,.08); background: #0b111b; }.shortcut-modal-window .modal-heading h3 { margin-top: 5px; }.shortcut-modal-window .modal-heading p { margin-top: 5px; font-size: 11px; }.shortcut-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; padding: 18px 20px 22px; }.shortcut-grid h4 { margin: 0 0 8px; color: #91bee9; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }.shortcut-grid p { display: grid; grid-template-columns: minmax(96px, auto) 1fr; align-items: center; gap: 10px; min-height: 28px; margin: 0; color: #aab9ca; font-size: 11px; }.shortcut-grid kbd { justify-self: start; padding: 3px 7px; border: 1px solid rgba(151,192,234,.2); border-radius: 5px; color: #dceaff; background: rgba(255,255,255,.06); font-family: inherit; font-size: 10px; white-space: nowrap; }
body.light-theme .shortcut-modal-window .modal-heading { border-color: rgba(29,55,82,.14); background: #ffffff; }.light-theme .shortcut-grid h4 { color: #285d91; }.light-theme .shortcut-grid p { color: #405b75; }.light-theme .shortcut-grid kbd { border-color: rgba(29,55,82,.2); color: #27496a; background: #edf5fd; }
@media (max-width: 620px) { .shortcut-grid { grid-template-columns: 1fr; gap: 18px; }.shortcut-modal-window .modal-heading { padding-right: 18px; padding-left: 18px; }.shortcut-grid { padding-right: 18px; padding-left: 18px; } }

/* Projects use the same compact flat-row pattern as task lists. */
.project-work-group { width: 100%; max-width: none; }.project-work-rows { width: 100%; border-top: 1px solid var(--line); }.project-work-row { grid-template-columns: minmax(360px, 1.2fr) minmax(280px, .8fr) 240px 28px; min-height: 94px; cursor: pointer; }.project-work-row:hover, .project-work-row.active { background: rgba(113,183,255,.055); }.project-work-main { align-self: center; }.project-work-main .project-code { margin: 0 0 5px; color: #728eac; font-size: 11px; font-weight: 700; }.project-work-main strong { font-size: 16px; }.project-work-main small { margin-top: 5px; font-size: 12px; }.project-work-progress { display: grid; grid-template-columns: 1fr; gap: 8px; color: #8fa1b6; font-size: 12px; }.project-work-progress .progress-track { height: 8px; margin: 0; }.project-work-progress .progress-track i { min-width: 0; }.project-work-metrics strong, .project-work-metrics small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.project-work-metrics strong { color: #d6e5f6; font-size: 14px; }.project-work-metrics small { margin-top: 6px; color: #74869c; font-size: 12px; }.project-work-row .project-chevron { justify-self: end; color: #86add7; }.project-work-row .project-chevron svg { display: block; width: 22px; height: 22px; }
body.light-theme .project-work-row { background: transparent; border-color: rgba(29,55,82,.12); }.light-theme .project-work-row:hover, .light-theme .project-work-row.active { background: #edf5fd; }.light-theme .project-work-metrics strong { color: #243c55; }.light-theme .project-work-progress { color: #526b84; }
@media (max-width: 900px) { .project-work-row { grid-template-columns: minmax(220px, 1fr) 130px 20px; }.project-work-metrics { display: none; } }

/* Training center: compact guided courses built on the reference learning-library concept. */
.training-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; padding: 5px 0 18px; border-bottom: 1px solid rgba(255,255,255,.07); }
.training-heading > .muted { max-width: 560px; margin: 0; }
.training-heading h2 { margin-top: 7px; color: #eff5fd; font-size: 22px; font-weight: 650; letter-spacing: -.035em; }
.training-heading .muted { margin-top: 7px; font-size: 12px; }
.training-overall { width: 245px; flex: 0 0 245px; }
.training-overall > div:first-child, .training-course-progress > div:first-child, .training-lesson-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.training-overall span, .training-overall small { color: #71849d; font-size: 10px; }
.training-overall strong { color: #e8f1fb; font-size: 14px; font-weight: 640; }
.training-overall small { display: block; margin-top: 6px; }
.training-progress-track { height: 6px; overflow: hidden; margin-top: 8px; border-radius: 99px; background: rgba(255,255,255,.08); }
.training-progress-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: #64a6fa; transition: width .2s ease; }
.training-progress-track i.training-tone-violet { background: #a987f3; }
.training-progress-track i.training-tone-emerald { background: #6ed2a5; }
.training-notice { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0 0; padding: 11px 13px; border: 1px solid rgba(240,200,107,.17); border-radius: 11px; color: #ecd79c; background: rgba(240,200,107,.065); font-size: 11px; line-height: 1.5; }
.training-notice > span { color: #f1c86e; }
.training-notice p { flex: 1; margin: 0; }
.training-notice button { width: 20px; height: 20px; padding: 0; border: 0; color: #b9a87e; background: transparent; font-size: 16px; line-height: 1; }
.training-player { margin-top: 16px; overflow: hidden; border: 1px solid rgba(113,183,255,.14); border-radius: 16px; background: linear-gradient(125deg, rgba(64,131,213,.12), rgba(12,18,29,.72) 35%), rgba(10,14,22,.84); }
.training-player.training-tone-violet { border-color: rgba(169,135,243,.15); background: linear-gradient(125deg, rgba(137,89,218,.12), rgba(12,18,29,.72) 35%), rgba(10,14,22,.84); }
.training-player.training-tone-emerald { border-color: rgba(110,210,165,.15); background: linear-gradient(125deg, rgba(60,166,118,.12), rgba(12,18,29,.72) 35%), rgba(10,14,22,.84); }
.training-player-intro { display: flex; align-items: flex-start; gap: 13px; padding: 18px 20px 16px; border-bottom: 1px solid rgba(255,255,255,.065); }
.training-player-icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 11px; color: #d9ebff; background: rgba(97,164,249,.16); }
.training-tone-violet .training-player-icon { color: #e7dbff; background: rgba(169,135,243,.16); }.training-tone-emerald .training-player-icon { color: #d4fae7; background: rgba(110,210,165,.15); }
.training-player-intro > div { min-width: 0; flex: 1; }
.training-kicker { color: #9ccaff; font-size: 9px; font-weight: 680; letter-spacing: .15em; }.training-tone-violet .training-kicker { color: #c6afff; }.training-tone-emerald .training-kicker { color: #9ee7c3; }
.training-player h3 { margin-top: 5px; color: #f0f5fb; font-size: 16px; font-weight: 640; letter-spacing: -.025em; }
.training-player-intro p { margin-top: 4px; color: #8da0b8; font-size: 11px; }
.training-change-course { padding: 5px 8px; border: 0; color: #92bff0; background: transparent; font-size: 10px; white-space: nowrap; }.training-change-course:hover { color: #d7e9ff; }
.training-player-grid { display: grid; grid-template-columns: minmax(240px,.72fr) minmax(340px,1.28fr); }
.training-step-list { padding: 8px; border-right: 1px solid rgba(255,255,255,.06); background: rgba(0,0,0,.1); }
.training-step { display: flex; width: 100%; align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid transparent; border-radius: 10px; color: #99a9bd; background: transparent; text-align: left; }.training-step:not(:disabled):hover { background: rgba(255,255,255,.04); }.training-step:disabled { cursor: default; opacity: .45; }
.training-step > span { display: grid; width: 22px; height: 22px; flex: 0 0 22px; place-items: center; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; color: #8599b2; font-size: 9px; font-weight: 700; }
.training-step.done > span { border-color: rgba(111,210,165,.35); color: #9debc8; background: rgba(91,197,143,.12); }
.training-step.active { border-color: rgba(117,180,247,.2); color: #d8e8fb; background: rgba(91,159,238,.1); }.training-tone-violet .training-step.active { border-color: rgba(169,135,243,.25); background: rgba(137,89,218,.11); }.training-tone-emerald .training-step.active { border-color: rgba(110,210,165,.24); background: rgba(60,166,118,.1); }
.training-step strong { display: block; color: inherit; font-size: 11px; font-weight: 600; }.training-step small { display: block; margin-top: 2px; color: #71839c; font-size: 9px; }
.training-lesson { padding: 20px 22px; }.training-lesson-top { color: #7f93ac; font-size: 10px; }.training-lesson h4 { margin-top: 16px; color: #f2f6fb; font-size: 18px; font-weight: 640; letter-spacing: -.03em; }.training-lesson > p { max-width: 600px; margin-top: 9px; color: #9aabc0; font-size: 12px; line-height: 1.6; }
.training-live-task { display: flex; align-items: flex-start; gap: 9px; margin-top: 18px; padding: 11px 12px; border: 1px solid rgba(240,200,107,.15); border-radius: 10px; background: rgba(240,200,107,.055); }.training-live-task > span { color: #f0c86b; }.training-live-task strong { display: block; color: #ecdba7; font-size: 10px; }.training-live-task small { display: block; margin-top: 3px; color: #c9b981; font-size: 11px; }
.training-lesson-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 19px; }.training-lesson-actions .secondary, .training-lesson-actions .primary { min-height: 32px; padding: 0 12px; font-size: 11px; }.training-lesson-actions .secondary:disabled { cursor: default; opacity: .35; }
.training-library-header { display: flex; align-items: end; justify-content: space-between; margin-top: 22px; padding: 0 2px 10px; border-bottom: 1px solid rgba(255,255,255,.07); }.training-library-header > div > span { display: block; color: #a9cceb; font-size: 10px; font-weight: 680; letter-spacing: .16em; text-transform: uppercase; }.training-library-header small { color: #71849b; font-size: 10px; }.training-library-header > div small { display: block; margin-top: 5px; }
.training-course-library { overflow: hidden; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; background: rgba(10,14,21,.68); }
.training-course-row { display: grid; grid-template-columns: 24px 36px minmax(240px,1fr) minmax(170px,.45fr) 130px; width: 100%; min-height: 78px; gap: 12px; align-items: center; padding: 12px 18px; border: 0; border-bottom: 1px solid rgba(255,255,255,.065); color: inherit; background: transparent; text-align: left; transition: background .15s ease; }.training-course-row:last-child { border-bottom: 0; }.training-course-row:hover, .training-course-row.selected { background: rgba(255,255,255,.035); }
.training-course-index { color: #61738e; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; }.training-course-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: #b8dcff; background: rgba(92,158,240,.15); }.training-course-icon.training-tone-violet { color: #e1d3ff; background: rgba(167,125,243,.15); }.training-course-icon.training-tone-emerald { color: #ccf7df; background: rgba(97,201,151,.15); }
.training-course-copy { min-width: 0; }.training-course-copy > div { display: flex; align-items: center; gap: 8px; }.training-course-copy strong { color: #dfe9f6; font-size: 12px; font-weight: 620; }.training-course-copy p { overflow: hidden; margin-top: 4px; color: #75879f; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.training-level { padding: 3px 6px; border: 1px solid rgba(117,180,247,.18); border-radius: 6px; color: #9ec4eb; background: rgba(88,148,221,.08); font-size: 8px; font-weight: 640; }.training-course-copy small { color: #63758e; font-size: 9px; }
.training-course-progress { min-width: 0; }.training-course-progress span, .training-course-progress small { color: #8295ad; font-size: 9px; }.training-course-progress small { color: #667992; }.training-course-progress .training-progress-track { height: 5px; margin-top: 6px; }.training-course-action { display: flex; align-items: center; justify-content: flex-end; gap: 5px; color: #9ecbfb; font-size: 10px; font-weight: 600; }.training-course-action svg { flex: 0 0 auto; }
.training-modal-backdrop { position: fixed; z-index: 70; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(4,8,14,.66); backdrop-filter: blur(5px); }
.training-live-highlight { position: relative; z-index: 75 !important; outline: 3px solid #74c7ff; outline-offset: 4px; box-shadow: 0 0 0 9999px rgba(4,8,14,.38), 0 0 24px rgba(99,185,255,.78); }.shape-label-popover.training-live-highlight, .qc-feedback-popover.training-live-highlight, .task-assignee-menu.training-live-highlight, .bulk-assignee-menu.training-live-highlight { position: absolute; z-index: 101 !important; }.training-live-panel { position: fixed; z-index: 76; right: 24px; bottom: 24px; width: min(340px, calc(100vw - 32px)); padding: 18px; border: 1px solid rgba(125,197,255,.32); border-radius: 15px; color: #dcecff; background: rgba(10,20,34,.96); box-shadow: 0 18px 44px rgba(0,0,0,.38); backdrop-filter: blur(14px); }.training-live-panel-kicker { margin-bottom: 9px; color: #8fcbff; font-size: 9px; font-weight: 700; letter-spacing: .16em; }.training-live-panel strong { display: block; padding-right: 28px; color: #f1f7ff; font-size: 14px; }.training-live-panel p { margin: 8px 0 12px; color: #a8bdd5; font-size: 12px; line-height: 1.55; }.training-live-panel small { color: #7692b2; font-size: 10px; }.training-live-close { position: absolute; top: 12px; right: 12px; width: 26px; height: 26px; padding: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 7px; color: #bad0e5; background: rgba(255,255,255,.05); font-size: 17px; line-height: 1; }.training-live-close:hover { color: white; background: rgba(255,255,255,.12); }.annotator-live-training { z-index: 100; }body.light-theme .training-live-panel { border-color: rgba(46,122,196,.25); color: #24415e; background: rgba(255,255,255,.96); box-shadow: 0 18px 44px rgba(39,72,106,.2); }.light-theme .training-live-panel strong { color: #203c58; }.light-theme .training-live-panel p { color: #52708e; }.light-theme .training-live-panel small { color: #6c87a2; }.light-theme .training-live-close { border-color: rgba(29,55,82,.15); color: #4d6986; background: #f5f9fd; }
.training-live-highlight { position: relative; z-index: 75 !important; outline: 3px solid #74c7ff; outline-offset: 4px; box-shadow: 0 0 0 9999px rgba(4,8,14,.38), 0 0 24px rgba(99,185,255,.78); }.shape-label-popover.training-live-highlight, .qc-feedback-popover.training-live-highlight, .task-assignee-menu.training-live-highlight, .bulk-assignee-menu.training-live-highlight { position: absolute; z-index: 101 !important; }.training-live-panel { position: fixed; z-index: 76; right: 24px; bottom: 24px; width: min(340px, calc(100vw - 32px)); padding: 18px; border: 1px solid rgba(125,197,255,.32); border-radius: 15px; color: #dcecff; background: rgba(10,20,34,.96); box-shadow: 0 18px 44px rgba(0,0,0,.38); backdrop-filter: blur(14px); }.training-live-panel-kicker { margin-bottom: 9px; color: #8fcbff; font-size: 9px; font-weight: 700; letter-spacing: .16em; }.training-live-panel strong { display: block; padding-right: 28px; color: #f1f7ff; font-size: 14px; }.training-live-panel p { margin: 8px 0 12px; color: #a8bdd5; font-size: 12px; line-height: 1.55; }.training-live-panel small { color: #7692b2; font-size: 10px; }.training-live-close { position: absolute; top: 12px; right: 12px; width: 26px; height: 26px; padding: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 7px; color: #bad0e5; background: rgba(255,255,255,.05); font-size: 17px; line-height: 1; }.training-live-close:hover { color: white; background: rgba(255,255,255,.12); }.annotator-live-training { z-index: 100; }body.light-theme .training-live-highlight { outline-color: #2376be; box-shadow: 0 0 0 4px rgba(51,133,211,.18), 0 7px 18px rgba(42,99,150,.18); }body.light-theme button.training-live-highlight { color: #0d477c !important; background: #dceeff !important; }body.light-theme .training-live-panel { border-color: rgba(46,122,196,.25); color: #24415e; background: rgba(255,255,255,.96); box-shadow: 0 18px 44px rgba(39,72,106,.2); }.light-theme .training-live-panel strong { color: #203c58; }.light-theme .training-live-panel p { color: #52708e; }.light-theme .training-live-panel small { color: #6c87a2; }.light-theme .training-live-close { border-color: rgba(29,55,82,.15); color: #4d6986; background: #f5f9fd; }
.training-live-panel-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.training-live-skip { padding: 4px 7px; border: 1px solid rgba(255,255,255,.14); border-radius: 6px; color: #a8c4df; background: rgba(255,255,255,.045); font-size: 9px; font-weight: 650; }.training-live-skip:hover { color: #e4f2ff; border-color: rgba(123,191,250,.5); background: rgba(91,159,238,.15); }body.light-theme .training-live-skip { border-color: rgba(29,55,82,.16); color: #42637f; background: #f5f9fd; }.light-theme .training-live-skip:hover { color: #123f69; border-color: rgba(40,123,211,.35); background: #e7f2fc; }
.training-course-modal { display: grid; grid-template-columns: minmax(270px,.78fr) minmax(390px,1.22fr); width: min(900px, 100%); max-height: min(650px, calc(100vh - 48px)); overflow: hidden; border: 1px solid rgba(151,192,234,.2); border-radius: 20px; color: #dfeaf6; background: #0b111c; box-shadow: 0 30px 90px rgba(0,0,0,.5); }
.training-modal-overview { display: flex; position: relative; min-height: 500px; flex-direction: column; padding: 24px; color: #ddebfb; background: linear-gradient(140deg, rgba(52,122,217,.27), rgba(44,91,147,.07) 48%, transparent), #101b2b; }.training-tone-violet .training-modal-overview { background: linear-gradient(140deg, rgba(137,89,218,.28), rgba(95,62,154,.08) 48%, transparent), #151329; }.training-tone-emerald .training-modal-overview { background: linear-gradient(140deg, rgba(60,166,118,.28), rgba(40,112,79,.08) 48%, transparent), #0f211d; }
.training-modal-close { align-self: flex-end; width: 28px; height: 28px; padding: 0; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; color: #b8c9dc; background: rgba(255,255,255,.045); font-size: 20px; line-height: 1; }.training-modal-close:hover { color: #fff; background: rgba(255,255,255,.1); }
.training-modal-overview-content { margin: auto 0 18px; }.training-modal-overview-content .training-player-icon { margin-bottom: 20px; border: 1px solid rgba(255,255,255,.11); color: #e8f2ff; background: rgba(255,255,255,.09); }.training-modal-overview h3 { margin-top: 8px; color: #f3f7fb; font-size: 23px; font-weight: 660; letter-spacing: -.04em; }.training-modal-overview p { margin-top: 12px; color: #b1c0d1; font-size: 12px; line-height: 1.55; }
.training-modal-meta { display: flex; justify-content: space-between; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.1); color: #91a5bb; font-size: 10px; }
.training-modal-lesson { overflow: auto; padding: 30px 32px; }.training-modal-progress { display: flex; gap: 6px; margin-bottom: 27px; }.training-modal-progress i { height: 6px; flex: 1; border-radius: 99px; background: rgba(255,255,255,.1); }.training-modal-progress i.active { background: #7fb9ff; }.training-tone-violet .training-modal-progress i.active { background: #bca0ff; }.training-tone-emerald .training-modal-progress i.active { background: #7ee4b2; }.training-modal-lesson > .training-lesson-top { margin-top: 0; }.training-modal-lesson h4 { margin-top: 16px; color: #f2f6fb; font-size: 22px; font-weight: 650; letter-spacing: -.035em; }.training-modal-lesson > p { max-width: 550px; margin-top: 12px; color: #a5b4c5; font-size: 13px; line-height: 1.65; }.training-modal-lesson .training-notice { margin-top: 0; margin-bottom: 20px; }
body.light-theme .training-modal-backdrop { background: rgba(36,56,78,.3); }.light-theme .training-course-modal { border-color: rgba(29,55,82,.18); color: #253d56; background: #fff; box-shadow: 0 30px 90px rgba(29,55,82,.24); }.light-theme .training-modal-overview { color: #244562; background: linear-gradient(140deg, #e1efff, #f7fbff 58%, #fff); }.light-theme .training-tone-violet .training-modal-overview { background: linear-gradient(140deg, #eee7ff, #faf8ff 58%, #fff); }.light-theme .training-tone-emerald .training-modal-overview { background: linear-gradient(140deg, #e0f7ed, #f7fdf9 58%, #fff); }.light-theme .training-modal-close { border-color: rgba(29,55,82,.16); color: #526c86; background: rgba(255,255,255,.72); }.light-theme .training-modal-overview h3, .light-theme .training-modal-lesson h4 { color: #1f3852; }.light-theme .training-modal-overview p, .light-theme .training-modal-lesson > p { color: #58708a; }.light-theme .training-modal-meta { border-color: rgba(29,55,82,.12); color: #607993; }.light-theme .training-modal-progress i { background: #e3edf7; }.light-theme .training-modal-progress i.active { background: #4f93de; }
@media (max-width: 980px) { .training-player-grid { grid-template-columns: 1fr; }.training-step-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-right: 0; border-bottom: 1px solid rgba(255,255,255,.06); }.training-course-row { grid-template-columns: 24px 36px minmax(220px,1fr) 125px; }.training-course-action { display: none; }.training-course-modal { grid-template-columns: 1fr; max-width: 640px; }.training-modal-overview { min-height: auto; padding: 20px 24px; }.training-modal-overview-content { margin: 14px 0 18px; }.training-modal-lesson { padding: 24px; } }
@media (max-width: 620px) { .training-heading { align-items: stretch; flex-direction: column; gap: 14px; }.training-overall { width: 100%; flex-basis: auto; }.training-library-header { align-items: flex-start; gap: 8px; flex-direction: column; }.training-course-row { grid-template-columns: 24px 34px minmax(0,1fr); min-height: 70px; padding: 12px; }.training-course-progress, .training-course-action { display: none; }.training-course-copy p { white-space: normal; }.training-modal-backdrop { padding: 12px; }.training-course-modal { max-height: calc(100vh - 24px); border-radius: 16px; }.training-modal-overview { padding: 16px 18px; }.training-modal-overview h3 { font-size: 20px; }.training-modal-lesson { padding: 20px; }.training-modal-lesson h4 { font-size: 19px; } }
@media (max-width: 1120px) { .platform-layout { grid-template-columns: 200px minmax(0,1fr); }.metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.dashboard-grid { grid-template-columns: 1fr; }.annotator-layout { grid-template-columns: 210px minmax(0,1fr); }.annotation-toolbar { align-items: flex-start; flex-direction: column; }.toolbar-actions { width: 100%; justify-content: flex-end; }.project-registry-header, .project-flat-row { grid-template-columns: minmax(300px, 1.45fr) 130px minmax(140px, .85fr) 110px 135px 20px; gap: 14px; }.project-registry-header { padding: 0 20px; }.project-flat-row { padding: 20px; }.project-flat-row:hover, .project-flat-row.active { padding: 20px; } }

/* Keep project hierarchy lists flat after the broader legacy project-table rules above. */
#project-detail-content .batch-flat-list { margin-top: 8px; border-top: 1px solid var(--line); }
#project-detail-content .batch-flat-row { display: grid; grid-template-columns: minmax(320px, 1.35fr) minmax(240px, .65fr) 22px; min-height: 76px; padding: 12px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.065); border-radius: 0; background: transparent; }
#project-detail-content .project-batch-task-list { margin-top: 0; border-top: 1px solid var(--line); }
#project-detail-content .project-batch-task-row { grid-template-columns: 30px minmax(260px, 1fr) minmax(190px, .65fr) 60px; min-height: 70px; padding: 10px 2px 10px 0; border-bottom: 1px solid rgba(255,255,255,.065); border-radius: 0; background: transparent; }
.delivery-result-control { display: grid; justify-items: start; gap: 3px; min-width: 0; }
.delivery-result-control small { overflow: hidden; max-width: 100%; color: #74869c; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.result-download-status { display: inline-flex; align-items: center; width: max-content; padding: 3px 6px; border: 1px solid rgba(243,200,107,.3); border-radius: 999px; color: #efd28b; background: rgba(243,200,107,.08); font-size: 9px; white-space: nowrap; }
.result-download-status.downloaded { border-color: rgba(120,215,178,.28); color: #a9ead0; background: rgba(120,215,178,.1); }
.delivery-result-control .secondary { min-height: 25px; padding: 4px 7px; font-size: 9px; }
body.light-theme .delivery-result-control small { color: #526b84; }
body.light-theme .result-download-status { color: #7b5609; border-color: rgba(174,116,16,.3); background: #fff4d7; }
body.light-theme .result-download-status.downloaded { color: #176343; border-color: rgba(45,143,101,.3); background: #e2f7ee; }
body.light-theme #project-detail-content .batch-flat-list, body.light-theme #project-detail-content .project-batch-task-list { border-color: rgba(29,55,82,.14); }
body.light-theme #project-detail-content .batch-flat-row, body.light-theme #project-detail-content .project-batch-task-row { border-color: rgba(29,55,82,.12); background: transparent; }
body.light-theme #project-detail-content .batch-flat-row:hover, body.light-theme #project-detail-content .project-batch-task-row:hover { background: #edf5fd; }
body.light-theme #project-detail-content .batch-row-icon { color: #155b9a; background: #dcecff; }
body.light-theme #project-detail-content .batch-stage-bar { background: #d7e1ec; }

/* A project is already named in its content header, so its global header stays compact. */
.project-detail-mode .reference-topbar { min-height: 44px; }
.project-detail-mode .reference-page-breadcrumb { margin: 0; }
.project-detail-mode .reference-content { padding-top: 12px; }
.project-detail-mode .project-detail-topline { min-height: 32px; padding-bottom: 8px; }
.project-detail-mode .project-detail-header { padding: 14px 0 16px; }
.project-detail-mode .project-detail-header h2 { margin-top: 5px; }
.project-detail-mode .project-detail-header p { margin-top: 5px; }
body.light-theme .project-detail-mode .project-detail-topline { border-color: rgba(29,55,82,.12); }

/* Project batches are the manager's task workspace. */
#project-detail-content .project-batch-task-row { grid-template-columns: 30px minmax(280px, 1fr) 190px 60px; }
#project-detail-content .project-batch-task-list .work-task-list-header { padding: 8px 0; }
.danger-button { color: #cf4e43 !important; border-color: rgba(207,78,67,.38) !important; }
.danger-button:hover:not(:disabled) { color: #fff !important; border-color: #c94a40 !important; background: #c94a40 !important; }
body.light-theme .danger-button { color: #b42318 !important; border-color: rgba(180,35,24,.34) !important; }
body.light-theme .danger-button:hover:not(:disabled) { color: #fff !important; background: #b42318 !important; }
.project-detail-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 9px; margin-left: auto; }
.project-detail-actions .project-main-action { min-height: 36px; padding: 8px 13px; font-size: 12px; white-space: nowrap; }
.project-detail-actions .project-delete-action { min-height: 36px; padding: 8px 5px; border-color: transparent !important; background: transparent; font-size: 11px; white-space: nowrap; }
.project-detail-actions .project-delete-action:hover:not(:disabled) { border-color: transparent !important; }
.project-detail-navigation { display: flex; align-items: center; gap: 9px; min-width: 0; }
.project-detail-navigation > span { color: var(--muted); font-size: 12px; }
.project-subpage-link { padding: 0; border: 0; color: var(--blue); background: transparent; font: inherit; font-size: 12px; font-weight: 700; }
.project-subpage-link:hover { color: #8fc5ff; text-decoration: underline; text-underline-offset: 3px; }
body.light-theme .project-subpage-link { color: #155b9a; }
body.light-theme .project-subpage-link:hover { color: #0d4779; }
.project-task-assignee { width: 100%; min-width: 0; padding: 6px 8px; border-color: rgba(113,183,255,.3); border-radius: 7px; color: #cfe3f8; background: rgba(113,183,255,.08); font-size: 10px; }
.project-task-pagination { margin-bottom: 6px; }
body.light-theme .project-task-assignee { color-scheme: light; border-color: rgba(40,123,211,.35); color: #155b9a; background: #edf6ff; }
body.light-theme .project-task-assignee option { color: #1b2b3d !important; background: #ffffff !important; }

.dashboard-intro { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 0 14px; border-bottom: 1px solid var(--line); }
.dashboard-intro .muted { font-size: 11px; }
.dashboard-actions { display: flex; align-items: end; gap: 10px; flex-shrink: 0; }
.dashboard-tabs { display: flex; gap: 4px; padding: 4px; width: fit-content; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.025); }
.dashboard-tabs button { padding: 8px 13px; border: 1px solid transparent; border-radius: 7px; color: #8f9daf; background: transparent; font-size: 12px; font-weight: 680; }
.dashboard-tabs button:hover { color: #dceafb; background: rgba(255,255,255,.055); }
.dashboard-tabs button.active { border-color: rgba(113,183,255,.26); color: #dceeff; background: rgba(113,183,255,.14); }
.dashboard-multiselect { position: relative; }
.dashboard-filter-trigger { display: flex; min-width: 176px; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; color: #b8c6d5; background: rgba(4,8,15,.72); font-size: 11px; text-align: left; }
.dashboard-filter-trigger > span { color: #8292a5; font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.dashboard-filter-trigger strong { min-width: 0; flex: 1; overflow: hidden; color: #dce8f4; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-filter-trigger i { color: #8092a6; font-size: 13px; font-style: normal; }
.dashboard-filter-menu { position: absolute; z-index: 60; top: calc(100% + 7px); right: 0; display: grid; width: min(310px, 40vw); max-height: 330px; gap: 3px; overflow: auto; padding: 9px; border: 1px solid rgba(113,183,255,.25); border-radius: 11px; background: #101722; box-shadow: 0 16px 36px rgba(0,0,0,.36); }
.dashboard-filter-menu-heading { display: flex; align-items: center; justify-content: space-between; padding: 2px 3px 7px; border-bottom: 1px solid rgba(255,255,255,.08); color: #dce8f4; font-size: 11px; }
.dashboard-filter-menu-heading button { padding: 3px 5px; border: 0; border-radius: 5px; color: var(--blue); background: transparent; font-size: 10px; font-weight: 700; }
.dashboard-filter-menu-heading button:hover { background: rgba(113,183,255,.12); }
.dashboard-filter-menu label { display: grid; grid-template-columns: 16px minmax(0, 1fr); column-gap: 7px; align-items: center; padding: 7px 5px; border-radius: 7px; color: #d5e1ee; cursor: pointer; font-size: 11px; }
.dashboard-filter-menu label:hover { background: rgba(113,183,255,.1); }
.dashboard-filter-menu input { width: 14px; height: 14px; margin: 0; accent-color: var(--blue); }
.dashboard-filter-menu label span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-filter-menu label small { grid-column: 2; margin-top: 1px; overflow: hidden; color: #8192a6; text-overflow: ellipsis; white-space: nowrap; }
.analytics-metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.analytics-task-card { margin-top: 16px; }
.content-task-table { margin-top: 16px; }.content-task-grid { overflow: visible; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.018); }.content-task-grid-header, .content-task-grid-row { display: grid; grid-template-columns: var(--content-task-column, minmax(360px,1.15fr)) var(--content-project-column, minmax(170px,.75fr)) var(--content-batch-column, minmax(360px,1.65fr)) 110px 88px var(--content-classes-column, minmax(190px,.9fr)); min-width: 900px; gap: 14px; align-items: center; }.content-task-grid-header { min-height: 45px; padding: 0 15px; border-bottom: 1px solid rgba(255,255,255,.07); color: #8294a9; font-size: 10px; font-weight: 720; letter-spacing: .09em; text-transform: uppercase; }.content-column-header { position: relative; display: flex; min-width: 0; align-items: center; }.content-column-resizer { position: absolute; z-index: 2; top: -12px; right: -7px; bottom: -12px; width: 15px; cursor: col-resize; touch-action: none; }.content-column-resizer::after { position: absolute; top: 12px; bottom: 12px; left: 7px; width: 2px; border-radius: 2px; background: rgba(113,183,255,.32); content: ""; transition: background .15s ease; }.content-column-resizer:hover::after, .content-column-resizer:focus-visible::after, .dashboard-column-resizing .content-column-resizer::after { background: var(--blue); }.content-table-filter { width: fit-content; }.content-table-filter .dashboard-filter-menu { left: 0; right: auto; }.content-task-grid-row { min-height: 65px; padding: 10px 15px; border-bottom: 1px solid rgba(255,255,255,.06); color: #bbc7d5; font-size: 12px; }.content-task-grid-row:last-child { border-bottom: 0; }.content-task-grid-row:hover { background: rgba(113,183,255,.08); }.content-task-grid-row > strong { overflow: hidden; color: #cfdeed; text-overflow: ellipsis; white-space: nowrap; }.content-task-name { display: grid; min-width: 0; gap: 4px; }.content-task-name strong { color: #cfdeed; font-size: 12px; }.content-task-name small { overflow: hidden; color: #8196ac; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.content-task-grid-row .status-chip { width: fit-content; }.content-batch-cell { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.content-classes-cell { overflow: hidden; color: #9fb0c2; font-size: 11px; line-height: 1.5; text-overflow: ellipsis; }
.content-task-grid-header, .content-task-grid-row { grid-template-columns: var(--content-task-column, minmax(260px, 1.1fr)) var(--content-project-column, minmax(150px, .7fr)) var(--content-batch-column, minmax(230px, 1.1fr)) minmax(130px, .65fr) 110px 88px var(--content-classes-column, minmax(180px, .85fr)); min-width: 1180px; }
.efficiency-task-table { margin-top: 16px; overflow: visible; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.018); }
.efficiency-task-grid-header, .efficiency-task-grid-row { display: grid; grid-template-columns: var(--efficiency-task-column, minmax(260px, 1.1fr)) var(--efficiency-project-column, minmax(150px, .7fr)) var(--efficiency-batch-column, minmax(230px, 1.1fr)) var(--efficiency-annotator-column, minmax(130px, .65fr)) var(--efficiency-stage-column, 110px) var(--efficiency-time-column, 110px) var(--efficiency-qc-column, 110px) var(--efficiency-instances-column, 78px) var(--efficiency-rate-column, 72px); min-width: 1260px; gap: 14px; align-items: center; }
.efficiency-task-table { overflow-x: auto; }
.work-time-cell { display: grid; gap: 4px; min-width: 0; }
.dashboard-task-title { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.dashboard-task-title .prelabel-origin-badge { margin-left: 0; }
.dashboard-task-link { width: fit-content; padding: 0; border: 0; border-radius: 2px; background: transparent; color: #cfdeed; font: inherit; font-size: 12px; font-weight: 700; text-align: left; cursor: pointer; }
.dashboard-task-link:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.dashboard-task-link { text-decoration: none; }
.dashboard-time-link { display: grid; width: fit-content; padding: 0; border: 0; border-radius: 2px; background: transparent; color: inherit; font: inherit; text-align: left; }
.dashboard-time-link:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.dashboard-time-link:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.dashboard-task-link:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.dashboard-task-link[aria-busy="true"] { opacity: .65; cursor: progress; }
.dashboard-info-badge, .dashboard-timezone { color: var(--muted); font-size: 10px; white-space: nowrap; }
.dashboard-timezone { display: block; margin-top: 5px; }
body.light-theme .dashboard-task-link { color: #294861; }
body.light-theme .dashboard-task-link:hover { color: #145286; }
.work-time-cell small { color: var(--muted); font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.efficiency-task-grid-header { min-height: 45px; padding: 0 15px; border-bottom: 1px solid rgba(255,255,255,.07); color: #8294a9; font-size: 10px; font-weight: 720; letter-spacing: .09em; text-transform: uppercase; }
.efficiency-task-grid-row { min-height: 65px; padding: 10px 15px; border-bottom: 1px solid rgba(255,255,255,.06); color: #bbc7d5; font-size: 12px; }
.efficiency-task-grid-row:last-child { border-bottom: 0; }
.efficiency-task-grid-row:hover { background: rgba(113,183,255,.08); }
.efficiency-task-grid-row > strong { overflow: hidden; color: #cfdeed; text-overflow: ellipsis; white-space: nowrap; }
.analytics-rank-list { display: grid; gap: 14px; margin-top: 22px; }
#dashboard-content-view .dashboard-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
#dashboard-content-view .dashboard-grid > .panel-card { min-width: 0; }
#content-batch-table td:first-child strong { white-space: normal; overflow-wrap: anywhere; }
.content-task-table { overflow-x: auto; }
.content-task-grid { min-width: 1180px; }
@media (max-width: 1120px) { #dashboard-content-view .dashboard-grid { grid-template-columns: minmax(0, 1fr); } }
.analytics-rank-row { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1fr) max-content; gap: 12px; align-items: center; min-width: 0; color: #b9c8d8; font-size: 12px; }
.analytics-rank-row strong { overflow: hidden; color: #dce8f4; text-overflow: ellipsis; white-space: nowrap; }
.analytics-rank-row span { color: #e7f0fa; font-size: 12px; font-weight: 720; text-align: right; }
.analytics-rank-row > span { min-width: 0; font-variant-numeric: tabular-nums; }
.analytics-rank-row > span small { display: block; margin-top: 4px; font-size: 10px; white-space: nowrap; }
.analytics-rank-row .progress-track { min-width: 0; }
.dashboard-numeric-sort { max-width: 100%; gap: 4px; min-width: 0; }
.dashboard-numeric-sort span { flex-shrink: 0; color: var(--blue); }
.dashboard-numeric-sort:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; border-radius: 3px; }
.dashboard-numeric-sort.is-sorted { color: var(--blue); }
@media (max-width: 600px) {
  .analytics-rank-row { grid-template-columns: minmax(0, 1fr) max-content; row-gap: 8px; }
  .analytics-rank-row > strong { grid-column: 1; grid-row: 1; }
  .analytics-rank-row > span { grid-column: 2; grid-row: 1; }
  .analytics-rank-row .progress-track { grid-column: 1 / -1; grid-row: 2; }
}
.analytics-active { color: var(--emerald); }
body.light-theme .dashboard-tabs { border-color: rgba(29,55,82,.16); background: #f4f8fc; }
body.light-theme .dashboard-tabs button { color: #63788e; }
body.light-theme .dashboard-tabs button.active { border-color: rgba(21,91,154,.25); color: #145286; background: #e5f2ff; }
body.light-theme .dashboard-filter-trigger { border-color: rgba(29,55,82,.18); color: #38516a; background: #fff; }
body.light-theme .dashboard-filter-trigger > span { color: #6b8095; }
body.light-theme .dashboard-filter-trigger strong { color: #294861; }
body.light-theme .dashboard-filter-menu { border-color: rgba(29,55,82,.18); background: #fff; box-shadow: 0 16px 36px rgba(29,55,82,.18); }
body.light-theme .dashboard-filter-menu-heading { border-color: rgba(29,55,82,.12); color: #294861; }
body.light-theme .dashboard-filter-menu label { color: #38516a; }
body.light-theme .dashboard-filter-menu label:hover { background: #edf5fd; }
body.light-theme .dashboard-filter-menu label small { color: #70849a; }
body.light-theme .analytics-rank-row strong, body.light-theme .analytics-rank-row span { color: #294861; }
body.light-theme .dashboard-batch-table { border-color: rgba(29,55,82,.16); background: #fbfdff; }
body.light-theme .dashboard-batch-table-header, body.light-theme .dashboard-batch-row { border-color: rgba(29,55,82,.12); }
body.light-theme .dashboard-table-header-button { color: #526b84; }
body.light-theme .dashboard-table-header-button:hover { color: #145286; }
body.light-theme .dashboard-batch-name strong, body.light-theme .dashboard-batch-project strong, body.light-theme .dashboard-batch-task-count, body.light-theme .dashboard-batch-percent { color: #294861; }
body.light-theme .dashboard-batch-progress small { color: #6d8297; }
body.light-theme .dashboard-batch-row:hover { background: #edf5fd; }
body.light-theme .content-task-grid { border-color: rgba(29,55,82,.16); background: #fbfdff; }
body.light-theme .efficiency-task-table { border-color: rgba(29,55,82,.16); background: #fbfdff; }
body.light-theme .content-task-grid-header, body.light-theme .content-task-grid-row, body.light-theme .efficiency-task-grid-header, body.light-theme .efficiency-task-grid-row { border-color: rgba(29,55,82,.12); }
body.light-theme .efficiency-task-grid-row { color: #526f89; }
body.light-theme .content-task-grid-row > strong, body.light-theme .efficiency-task-grid-row > strong { color: #294861; }
body.light-theme .content-task-name strong { color: #294861; }
body.light-theme .content-task-name small { color: #6d8297; }
body.light-theme .content-classes-cell { color: #597087; }
body.light-theme .content-task-grid-row:hover, body.light-theme .efficiency-task-grid-row:hover { background: #edf5fd; }
@media (max-width: 1120px) { .analytics-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.dashboard-intro { align-items: flex-start; flex-direction: column; }.dashboard-actions { width: 100%; justify-content: space-between; }.dashboard-filter-trigger { min-width: 160px; } }
@media (max-width: 860px) { .dashboard-batch-table { overflow-x: auto; overflow-y: visible; } }

/* S3 import dialog: keep the complete tree readable in light mode. */
body.light-theme .modal-backdrop { background: rgba(28,48,71,.3); }
body.light-theme .modal-window { border-color: rgba(29,55,82,.18); background: #ffffff; box-shadow: 0 30px 90px rgba(29,55,82,.24); }
body.light-theme .modal-heading,
body.light-theme .tree-toolbar,
body.light-theme .modal-footer { border-color: rgba(29,55,82,.14); }
body.light-theme .modal-heading h3,
body.light-theme .tree-toolbar strong { color: #1b2b3d; }
body.light-theme .project-form-fields label { color: #38516a; }
body.light-theme .modal-close { border-color: rgba(29,55,82,.2); color: #38516a; background: #f7faff; }
body.light-theme .modal-close:hover { color: #123f6a; background: #e7f3ff; }
body.light-theme .tree-folder { border-color: rgba(29,55,82,.11); }
body.light-theme .tree-folder summary { color: #294861; }
body.light-theme .tree-folder-count,
body.light-theme .tree-file-path,
body.light-theme .tree-loading { color: #627a91; }
body.light-theme .tree-children { border-color: rgba(40,123,211,.22); }
body.light-theme .tree-file { color: #38516a; }
body.light-theme .tree-folder summary:hover,
body.light-theme .tree-file:hover { background: #edf5fd; }
body.light-theme .tree-imported { color: #0a6848; background: #e2f5ec; }
body.light-theme .tree-imported.partial { color: #77530c; background: #fff3d4; }
body.light-theme .tree-prelabel-badge { color: #0a6848; border-color: #a9ddc7; background: #e2f5ec; }
body.light-theme .tree-prelabel-badge.warning { color: #77530c; border-color: #ebcd84; background: #fff3d4; }
body.light-theme .project-import-preview { border-color: rgba(29,55,82,.14); color: #1b2b3d; background: #f3f8fe; }
body.light-theme .project-import-preview ul { color: #9a4f17; }

/* Batch-level customer acceptance and sampling. */
.batch-delivery-panel, .batch-delivery-card { border: 1px solid var(--line); border-radius: 13px; background: rgba(113,183,255,.045); }
.batch-delivery-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 18px; padding: 15px 17px; }
.batch-delivery-panel strong { color: #e6f2fc; font-size: 13px; }
.batch-delivery-panel p { margin: 5px 0 0; color: #94a9bd; font-size: 11px; line-height: 1.5; }
.batch-delivery-history { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }.batch-delivery-history span { padding: 4px 7px; border: 1px solid var(--line); border-radius: 6px; color: #9eb3c6; font-size: 10px; }
.batch-delivery-panel button { flex: none; }
.batch-delivery-list { display: grid; gap: 12px; margin: 12px 0 20px; }
.batch-delivery-card { overflow: hidden; }
.batch-delivery-card[open] { overflow: visible; }
.batch-delivery-card > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 80px; padding: 15px 18px; cursor: pointer; list-style: none; }
.batch-delivery-card > summary::-webkit-details-marker { display: none; }
.batch-delivery-card > summary > div { display: grid; gap: 4px; }
.batch-delivery-card > summary strong { color: #e6f2fc; font-size: 15px; }
.batch-delivery-card > summary small, .batch-card-chevron { color: #92a9bf; font-size: 11px; }
.batch-task-total { color: #bfe0ff; font-weight: 700; }
.batch-delivery-card[open] .batch-card-chevron { transform: rotate(180deg); }
.batch-delivery-body { display: grid; gap: 14px; padding: 0 18px 18px; }
.batch-all-tasks { display: grid; gap: 10px; min-width: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; }
.batch-all-tasks-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.batch-all-tasks-heading-copy { display: grid; gap: 3px; min-width: 0; }
.batch-all-tasks-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; margin-left: auto; }
.batch-all-tasks-actions .batch-decision-actions { padding-top: 0; }
.batch-all-tasks-actions .batch-decision-actions button, .batch-review-start { min-height: 30px; padding: 6px 10px; font-size: 10px; }
.batch-review-start span { margin-left: 4px; padding: 2px 5px; border-radius: 99px; background: rgba(113,183,255,.16); font-weight: 750; }
.batch-all-tasks-heading strong { color: #e6f2fc; font-size: 12px; }
.batch-all-tasks-heading small { color: #92a9bf; font-size: 10px; }
.batch-sample-control { position: relative; z-index: 5; flex: none; }
.batch-sample-toggle { min-height: 30px; padding: 6px 10px; font-size: 10px; }
.batch-sample-popover { position: absolute; z-index: 20; top: calc(100% + 7px); right: 0; width: min(400px, calc(100vw - 44px)); border-color: rgba(116,181,245,.32); background: #142130; box-shadow: 0 14px 32px rgba(0,0,0,.28); }
.batch-all-task-list { display: grid; border-top: 1px solid var(--line); }
.batch-all-task-row { display: grid; grid-template-columns: minmax(190px, 1fr) 112px auto; align-items: center; gap: 12px; min-height: 46px; padding: 7px 8px; border-left: 3px solid transparent; border-bottom: 1px solid var(--line); }
.batch-all-task-row--selectable { grid-template-columns: 24px minmax(190px, 1fr) 112px auto; }
.batch-all-task-name { display: grid; gap: 3px; min-width: 0; }
.batch-task-selection-header { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 34px; padding: 7px 8px; border-left: 3px solid transparent; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 11px; cursor: pointer; }
.batch-task-selection-header span { white-space: nowrap; }
.batch-task-checkbox { display: block; justify-self: center; width: 14px; height: 14px; margin: 0; padding: 0; accent-color: var(--blue); cursor: pointer; }
.batch-task-checkbox:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.batch-all-tasks-actions > [data-batch-accept-selected], .batch-all-tasks-actions > [data-batch-download-selected] { min-height: 30px; padding: 6px 10px; font-size: 10px; }
.batch-all-task-row--sample { padding-left: 8px; border-left: 3px solid #71b7ff; background: rgba(113,183,255,.075); }
.batch-all-task-row--sample.passed { border-left-color: #68cda0; background: rgba(104,205,160,.07); }
.batch-all-task-row--sample.rejected { border-left-color: #f19a91; background: rgba(241,154,145,.08); }
.batch-all-task-row > div:first-child { display: grid; gap: 3px; min-width: 0; }
.batch-all-task-row strong { color: #dcebf9; font-size: 11px; }
.batch-all-task-row small { overflow: hidden; color: #8da3b7; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.batch-all-task-kind { color: #8da3b7; font-size: 10px; }
.batch-all-task-kind.selected { color: #91caed; }
.batch-all-task-kind small { display: block; margin-top: 3px; font-weight: 700; }
.batch-all-task-kind.passed small { color: #65c89d; }
.batch-all-task-kind.rejected small { color: #ef948b; }
.batch-all-task-actions, .batch-all-task-pagination, .batch-all-task-pagination > div { display: flex; align-items: center; gap: 7px; }
.right-annotation-sidebar, .right-annotation-sidebar .my-tasks-section, .right-annotation-sidebar .panel-title-row { min-width: 0; }
.right-annotation-sidebar .my-tasks-tabs { box-sizing: border-box; width: 100%; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.right-annotation-sidebar .my-task-list { grid-template-columns: minmax(0, 1fr); width: 100%; }
.right-annotation-sidebar .my-task-row { overflow: hidden; }
.right-annotation-sidebar .my-task-row-heading, .right-annotation-sidebar .my-task-row small { min-width: 0; max-width: 100%; }
.right-annotation-sidebar .my-task-row small {
  margin-top: 5px;
  color: #a7b9ce;
  font-size: 11px;
  line-height: 1.45;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
  word-break: normal;
}
body.light-theme .right-annotation-sidebar .my-task-row small { color: #4b647e; }
/* Keep the task column independently resizable, including collapsed sidebars. */
.annotator-body .annotator-layout,
.annotator-body .annotator-layout:has(.left-annotation-sidebar.collapsed),
.annotator-body .annotator-layout:has(.right-annotation-sidebar.collapsed),
.annotator-body .annotator-layout:has(.left-annotation-sidebar.collapsed):has(.right-annotation-sidebar.collapsed) {
  grid-template-columns: var(--instances-sidebar-width, 220px) minmax(0, 1fr) var(--tasks-sidebar-column-width, var(--tasks-sidebar-width, 220px));
}
.annotator-body .annotator-layout:has(.left-annotation-sidebar.collapsed) { --instances-sidebar-width: 34px; }
.annotator-body .annotator-layout:has(.right-annotation-sidebar.collapsed) { --tasks-sidebar-column-width: 34px; }
.annotation-contextbar > strong { flex: 0 0 auto; white-space: nowrap; }
.tasks-sidebar-resizer { position: absolute; z-index: 5; top: 0; bottom: 0; left: 0; width: 8px; cursor: col-resize; touch-action: none; user-select: none; outline: none; }
.tasks-sidebar-resizer::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 2px; background: transparent; }
.tasks-sidebar-resizer::after { content: ""; position: absolute; top: 50%; left: 2px; width: 3px; height: 32px; border-radius: 3px; background: #6e8ca9; opacity: .55; transform: translateY(-50%); }
.tasks-sidebar-resizer:hover::before, .tasks-sidebar-resizer:focus-visible::before, .is-resizing-tasks-sidebar .tasks-sidebar-resizer::before { background: #70b7ff; }
.tasks-sidebar-resizer:hover::after, .tasks-sidebar-resizer:focus-visible::after, .is-resizing-tasks-sidebar .tasks-sidebar-resizer::after { background: #70b7ff; opacity: 1; }
.right-annotation-sidebar.collapsed .tasks-sidebar-resizer { display: none; }
body.is-resizing-tasks-sidebar, body.is-resizing-tasks-sidebar * { cursor: col-resize !important; user-select: none !important; }
body.light-theme .tasks-sidebar-resizer::after { background: #527da6; }
body.light-theme .tasks-sidebar-resizer:hover::before, body.light-theme .tasks-sidebar-resizer:focus-visible::before, body.light-theme.is-resizing-tasks-sidebar .tasks-sidebar-resizer::before { background: #287bd3; }
body.light-theme .my-task-status { color: #526780; border-color: #bdcad8; background: #e8edf3; font-size: 9px; line-height: 1.2; }
body.light-theme .my-task-status.active { color: #15578a; border-color: #93bde7; background: #e1efff; }
body.light-theme .my-task-status.submitted { color: #795300; border-color: #d9b76c; background: #fff2d0; }
body.light-theme .my-task-status.rework { color: #9e302b; border-color: #e5a19a; background: #ffe8e5; }
body.light-theme .my-task-status.finished { color: #156648; border-color: #91c6ab; background: #e2f5e9; }
.my-tasks-section #my-tasks-eyebrow { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.batch-all-task-actions { justify-content: flex-end; }
.batch-all-task-actions .secondary, .batch-all-task-pagination .secondary { min-height: 28px; padding: 5px 8px; font-size: 10px; }
.batch-all-task-pagination { justify-content: space-between; color: #8da3b7; font-size: 10px; }
.customer-task-batch-card .batch-delivery-body { min-width: 0; }
.customer-task-batch-card .customer-delivery-table { overflow: visible; }
.batch-sample-size { display: flex; align-items: baseline; gap: 6px; margin: 0; color: #a9bfd1; font-size: 11px; }
.batch-sample-size strong { color: #e6f2fc; font-size: 14px; }
.batch-sample-form { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 10px; }
.batch-sample-form label { display: grid; gap: 5px; color: #a9bfd1; font-size: 10px; }
.batch-sample-form select, .batch-sample-form input { min-width: 110px; min-height: 35px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 8px; color: #e6f2fc; background: #142130; }
.batch-sample-picker-field { display: grid; gap: 5px; color: #a9bfd1; font-size: 10px; }
.batch-sample-picker { position: relative; min-width: 142px; }
.batch-sample-mode-trigger { display: flex; width: 100%; min-height: 35px; align-items: center; justify-content: space-between; gap: 9px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 8px; color: #e6f2fc; background: #142130; text-align: left; font-size: 12px; }
.batch-sample-mode-trigger:hover, .batch-sample-mode-trigger[aria-expanded="true"] { border-color: #71b7ff; }
.batch-sample-mode-menu { position: absolute; z-index: 20; top: calc(100% + 4px); left: 0; width: 100%; padding: 4px; border: 1px solid var(--line); border-radius: 8px; background: #142130; box-shadow: 0 10px 24px rgba(0,0,0,.24); }
.batch-sample-mode-menu button { display: block; width: 100%; padding: 7px 9px; border: 0; border-radius: 5px; color: #e6f2fc; background: transparent; text-align: left; white-space: nowrap; font-size: 12px; }
.batch-sample-mode-menu button:hover, .batch-sample-mode-menu button[aria-selected="true"] { color: #ffffff; background: #255991; }
.batch-sample-form small { width: 100%; color: #8ca2b8; font-size: 10px; }
.batch-sample-list { display: grid; border-top: 1px solid var(--line); }
.batch-sample-row { display: grid; grid-template-columns: minmax(180px, 1fr) 120px auto; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.batch-sample-row > div:first-child { display: grid; gap: 3px; min-width: 0; }
.batch-sample-row strong { color: #dcebf9; font-size: 11px; }
.batch-sample-row small { overflow: hidden; color: #8da3b7; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.batch-sample-row p { margin: 3px 0 0; color: #eeb1a9; font-size: 10px; }
.batch-sample-status { color: #9fb4c8; font-size: 10px; }
.batch-sample-status.pass, .batch-sample-status.clear { color: #76d2a9; }.batch-sample-status.note { color: #d4bd80; }.batch-sample-status.reject, .batch-sample-status.issue { color: #f2a69d; }
.batch-sample-actions, .batch-decision-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.batch-decision-actions { padding-top: 3px; }.batch-decision-actions small { color: #92a9bf; font-size: 10px; }
.batch-rework-reason { margin: 0; padding: 11px 13px; border-left: 3px solid #ed9b83; color: #e9c2b9; background: rgba(201,67,56,.1); font-size: 11px; line-height: 1.5; }
.batch-exception-note { margin: 0; padding: 11px 13px; border-left: 3px solid #dbaa59; color: #f1d6a5; background: rgba(185,126,37,.12); font-size: 11px; line-height: 1.5; }
body.light-theme .batch-delivery-panel, body.light-theme .batch-delivery-card { background: #f8fbff; }
body.light-theme :is(.batch-delivery-panel strong, .batch-delivery-card > summary strong, .batch-sample-row strong) { color: #203d5a; }
body.light-theme :is(.batch-delivery-panel p, .batch-delivery-card > summary small, .batch-sample-form label, .batch-sample-row small, .batch-decision-actions small) { color: #526b84; }
body.light-theme .batch-task-total { color: #175e99; }
body.light-theme .batch-all-tasks-heading strong, body.light-theme .batch-all-task-row strong { color: #203d5a; }
body.light-theme .batch-all-tasks-heading small, body.light-theme .batch-all-task-row small, body.light-theme .batch-all-task-kind, body.light-theme .batch-all-task-pagination { color: #526b84; }
body.light-theme .batch-all-task-row--sample { background: #eaf4ff; }
body.light-theme .batch-all-task-row--sample.passed { background: #e9f8f1; }
body.light-theme .batch-all-task-row--sample.rejected { background: #fff0ef; }
body.light-theme .batch-all-task-kind.passed small { color: #187453; }
body.light-theme .batch-all-task-kind.rejected small { color: #a72e27; }
body.light-theme .batch-sample-popover { border-color: rgba(29,55,82,.18); background: #fff; box-shadow: 0 14px 32px rgba(29,55,82,.17); }
body.light-theme .batch-sample-size { color: #526b84; }
body.light-theme .batch-sample-size strong { color: #203d5a; }
body.light-theme .batch-sample-form select, body.light-theme .batch-sample-form input { color: #203d5a; background: #fff; }
body.light-theme .batch-sample-picker-field { color: #526b84; }
body.light-theme .batch-sample-mode-trigger, body.light-theme .batch-sample-mode-menu { border-color: rgba(29,55,82,.18); color: #203d5a; background: #fff; }
body.light-theme .batch-sample-mode-trigger:hover, body.light-theme .batch-sample-mode-trigger[aria-expanded="true"] { border-color: #287bd3; }
body.light-theme .batch-sample-mode-menu { box-shadow: 0 10px 24px rgba(29,55,82,.15); }
body.light-theme .batch-sample-mode-menu button { color: #203d5a; }
body.light-theme .batch-sample-mode-menu button:hover, body.light-theme .batch-sample-mode-menu button[aria-selected="true"] { color: #174d84; background: #e8f3ff; }
body.light-theme .batch-rework-reason { color: #8d493e; background: #fff2ef; }
.platform-dialog-heading #platform-dialog-message { white-space: pre-line; max-height: 52vh; overflow-y: auto; }
.platform-dialog-details { margin: 0 0 4px; border: 1px solid rgba(113,183,255,.24); border-radius: 9px; background: rgba(113,183,255,.055); }
.platform-dialog-details[hidden] { display: none; }
.platform-dialog-details summary { padding: 9px 11px; color: #9bc8ee; font-size: 10px; font-weight: 700; cursor: pointer; list-style-position: inside; }
.platform-dialog-details pre { max-height: 34vh; margin: 0; padding: 0 11px 11px; overflow: auto; color: #9fb2c5; font: inherit; font-size: 9px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
body.light-theme .platform-dialog-details { border-color: rgba(29,55,82,.15); background: #f5f9fd; }
body.light-theme .platform-dialog-details summary { color: #22669f; }
body.light-theme .platform-dialog-details pre { color: #526b84; }
.batch-withdrawal-note { margin: 8px 0; padding: 10px 12px; border: 1px solid rgba(237,155,131,.35); border-radius: 8px; color: #e7b8aa; font-size: 11px; line-height: 1.5; }
.batch-withdrawal-note strong { display: block; margin-bottom: 3px; }
.batch-rework-row.withdrawn { border-left: 3px solid #dcab71; }
body.light-theme .batch-withdrawal-note { border-color: #efc8bb; color: #8b4c3d; background: #fff8f5; }
#project-detail-content .hold-task-table .task-table-header, #project-detail-content .hold-task-table .hold-task-row { grid-template-columns: 30px minmax(220px, 1fr) minmax(120px, 160px) minmax(180px, 230px) minmax(110px, 140px) minmax(145px, 175px) 178px; }
#project-detail-content .hold-task-table .hold-task-row .platform-stage-stepper { display: grid; justify-self: stretch; gap: 5px; }
#project-detail-content .hold-task-table .hold-task-row .platform-stage-stepper button { width: 100%; font-size: 10px; }
body.light-theme .batch-exception-note { color: #704f1f; background: #fff7e7; }
@media (max-width: 850px) { .batch-delivery-panel { align-items: stretch; flex-direction: column; }.batch-sample-row { grid-template-columns: 1fr; }.batch-sample-actions { justify-content: flex-start; } }

/* QC feedback stays attached to the reviewed mask instead of interrupting the canvas. */
.workbench-reject { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; padding: 0 11px; border: 1px solid rgba(245,111,98,.42); border-radius: 9px; color: #ffc0b9; background: rgba(201,67,56,.14); font-size: 11px; font-weight: 630; }.workbench-reject:hover { border-color: rgba(255,142,132,.72); color: #fff; background: rgba(201,67,56,.32); }
.workbench-hold { display: inline-flex; min-height: 27px; align-items: center; justify-content: center; padding: 0 7px; border: 1px solid transparent; border-radius: 7px; color: #d6a65b; background: transparent; font-size: 10px; font-weight: 650; opacity: .82; }.workbench-hold:hover { border-color: rgba(235,162,75,.45); color: #ffe0a8; background: rgba(207,124,35,.1); opacity: 1; }
.qc-feedback-summary { margin-left: auto; padding: 4px 7px; border: 1px solid rgba(245,111,98,.28); border-radius: 99px; color: #ffb1a8; background: rgba(201,67,56,.1); font-size: 9px; font-weight: 650; white-space: nowrap; }
.qc-feedback-popover { position: absolute; z-index: 120; width: 245px; max-height: min(620px, calc(100vh - 122px)); padding: 11px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid rgba(245,111,98,.35); border-radius: 12px; color: #dfe9f4; background: rgba(22,18,26,.98); box-shadow: 0 16px 38px rgba(0,0,0,.44); scrollbar-width: thin; }.qc-feedback-title { display: flex; align-items: center; justify-content: space-between; gap: 9px; }.qc-feedback-title strong { color: #ffe0dc; font-size: 11px; }.qc-feedback-title button { width: 22px; height: 22px; padding: 0; border: 0; border-radius: 6px; color: #d7a39d; background: transparent; font-size: 16px; line-height: 1; }.qc-feedback-title button:hover { color: #fff; background: rgba(255,255,255,.1); }.qc-feedback-new-heading { margin-top: 10px; color: #eaa49d; font-size: 8px; font-weight: 780; letter-spacing: .1em; text-transform: uppercase; }.qc-feedback-popover > p { margin: 7px 0 9px; color: #a99da9; font-size: 9px; line-height: 1.45; }.qc-feedback-issue-options, .qc-feedback-class-options { display: flex; flex-wrap: wrap; gap: 5px; }.qc-feedback-issue-options button, .qc-feedback-class-options button { min-height: 26px; padding: 0 7px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; color: #eedde0; background: rgba(255,255,255,.05); font-size: 9px; font-weight: 620; }.qc-feedback-issue-options button:hover, .qc-feedback-class-options button:hover { border-color: rgba(255,145,133,.6); background: rgba(214,81,70,.2); }.qc-feedback-class-options i { display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 50%; }.qc-feedback-comment { display: grid; gap: 4px; margin-top: 9px; color: #c2aeb2; font-size: 9px; }.qc-feedback-comment textarea { width: 100%; min-height: 43px; resize: vertical; padding: 6px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; color: #eff5fb; background: rgba(255,255,255,.055); font: inherit; font-size: 10px; }.qc-feedback-comment-add { width: 100%; min-height: 27px; margin-top: 7px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; color: #dfedf9; background: rgba(255,255,255,.06); font-size: 9px; font-weight: 650; }.qc-feedback-comment-add:hover { background: rgba(255,255,255,.13); }
.qc-feedback-history-inline { display: grid; gap: 5px; margin-top: 9px; padding: 7px; border: 1px solid rgba(147,173,205,.22); border-radius: 8px; background: rgba(113,183,255,.055); }.qc-feedback-history-inline > div { display: grid; gap: 2px; }.qc-feedback-history-inline > div span { color: #a5ccea; font-size: 8px; font-weight: 780; letter-spacing: .09em; }.qc-feedback-history-inline > div small { color: #8396aa; font-size: 8px; }.qc-feedback-history-inline article { display: grid; gap: 3px; padding: 6px 7px; border-left: 2px solid #f0bc57; border-radius: 4px; background: rgba(6,12,20,.18); cursor: pointer; }.qc-feedback-history-inline article.confirmed { border-left-color: #67d69c; }.qc-feedback-history-inline article:hover { background: rgba(255,255,255,.08); }.qc-feedback-history-inline article strong { color: #f3d594; font-size: 9px; line-height: 1.35; }.qc-feedback-history-inline article.confirmed strong { color: #b5f0d0; }.qc-feedback-history-inline article p { margin: 0; color: #b9c7d7; font-size: 9px; line-height: 1.4; white-space: pre-wrap; word-break: break-word; }.verify-history-feedback { min-height: 24px; margin-top: 2px; padding: 3px 6px; border: 1px solid rgba(103,214,156,.58); border-radius: 6px; color: #bff3d6; background: rgba(46,151,101,.13); font: inherit; font-size: 8px; font-weight: 720; }.verify-history-feedback:hover { color: #fff; background: rgba(46,151,101,.35); }.verify-history-feedback:disabled { cursor: wait; opacity: .58; }
.qc-feedback-issue-options button.active, .qc-feedback-class-options button.active { border-color: rgba(255,145,133,.82); color: #fff; background: rgba(214,81,70,.38); box-shadow: inset 0 0 0 1px rgba(255,192,183,.18); }
.light-theme .verify-history-feedback { border-color: rgba(24,131,95,.42); color: #096543; background: #e8f8ef; }.light-theme .verify-history-feedback:hover { color: #fff; background: #18835f; }
.qc-feedback-existing { display: grid; gap: 4px; margin: 8px 0; padding: 7px; border: 1px solid rgba(245,111,98,.22); border-radius: 8px; background: rgba(201,67,56,.08); }.qc-feedback-existing > span { color: #e9a6a0; font-size: 8px; font-weight: 750; letter-spacing: .08em; }.qc-feedback-existing > div { display: grid; grid-template-columns: minmax(0,1fr) 20px; gap: 4px; }.qc-feedback-existing button:first-child { overflow: hidden; padding: 4px 5px; border: 0; border-radius: 5px; color: #f2d2cf; background: transparent; font-size: 9px; text-align: left; text-overflow: ellipsis; white-space: nowrap; }.qc-feedback-existing button:first-child:hover { background: rgba(255,255,255,.1); }.qc-feedback-existing button:last-child { padding: 0; border: 0; border-radius: 5px; color: #ffb6af; background: transparent; font-size: 14px; }.qc-feedback-existing button:last-child:hover { color: #fff; background: rgba(255,255,255,.12); }
.feedback-history { display: grid; gap: 6px; margin: 8px 0 10px; padding: 9px; border: 1px solid rgba(147,173,205,.18); border-radius: 9px; background: rgba(113,183,255,.045); }.feedback-history > div { display: grid; gap: 2px; }.feedback-history > div span { color: #9bc3e8; font-size: 8px; font-weight: 760; letter-spacing: .1em; }.feedback-history > div small { color: #798ca2; font-size: 9px; }.feedback-history article { padding: 6px 7px; border-left: 2px solid rgba(120,174,224,.62); background: rgba(8,18,29,.16); }.feedback-history article strong, .feedback-history article small { display: block; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.feedback-history article strong { color: #c8dcf0; }.feedback-history article small { margin-top: 3px; color: #91a5ba; }
.rework-feedback { margin-top: 14px; padding: 11px; border: 1px solid rgba(240,99,87,.3); border-radius: 10px; background: rgba(181,55,46,.1); }.rework-feedback-heading { display: grid; gap: 4px; }.rework-feedback-heading span { color: #ff9a90; font-size: 8px; font-weight: 740; letter-spacing: .12em; }.rework-feedback-heading strong { color: #ffe0dc; font-size: 12px; }.rework-feedback > p { margin: 6px 0 9px; color: #c0a7aa; font-size: 9px; line-height: 1.45; }.rework-feedback-list { display: grid; gap: 7px; }.rework-feedback-list article { position: relative; padding: 8px; border-left: 2px solid #e96359; background: rgba(0,0,0,.12); }.rework-feedback-list article.feedback-focus { cursor: pointer; }.rework-feedback-list article.feedback-focus:hover { background: rgba(240,99,87,.11); }.rework-feedback-list article > div { min-width: 0; }.rework-feedback-list article strong, .rework-feedback-list article small { display: block; }.rework-feedback-list article strong { color: #f6cfca; font-size: 10px; }.rework-feedback-list article small { margin-top: 3px; color: #b8a4a7; font-size: 9px; line-height: 1.35; }.rework-feedback-list article p { margin-top: 5px; color: #d9c2c4; font-size: 9px; line-height: 1.45; }.remove-feedback { position: absolute; top: 5px; right: 5px; width: 20px; height: 20px; padding: 0; border: 0; border-radius: 5px; color: #ffb5ad; background: transparent; font-size: 15px; line-height: 1; }.remove-feedback:hover { color: #fff; background: rgba(255,255,255,.12); }.shape-row.has-feedback { border-color: rgba(240,99,87,.24); background: rgba(210,76,63,.06); }.shape-feedback-count { margin-left: 5px; color: #ffaaa0 !important; font-size: 8px !important; font-style: normal; font-weight: 800; }
.shape-feedback-detail { margin-top: 3px !important; color: #f4aaa2 !important; font-size: 9px !important; line-height: 1.35; }.feedback-reference { color: #ffc2bb; font-weight: 850; }.shape-row.feedback-focused { border-color: #ffe18a !important; background: rgba(255,225,138,.16) !important; box-shadow: 0 0 0 1px rgba(255,225,138,.18), 0 0 18px rgba(255,193,95,.24); }.missing-feedback-row { border-color: rgba(240,99,87,.3); background: rgba(210,76,63,.08); }.missing-feedback-row > .feedback-locate-row { cursor: pointer; }.missing-feedback-row > .feedback-locate-row:hover { border-color: rgba(255,190,180,.55); background: rgba(240,99,87,.12); }.missing-feedback-row i { background: #ef695e; }.missing-feedback-row .remove-feedback { position: absolute; }
.instance-feedback { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-top: 5px; }.feedback-chip { display: inline-flex; min-height: 18px; align-items: center; padding: 1px 5px; border: 1px solid; border-radius: 99px; font-size: 8px; font-weight: 760; line-height: 1.1; }.feedback-chip.current { border-color: rgba(245,111,98,.55); color: #ffc0b9; background: rgba(201,67,56,.14); }.feedback-chip.confirmed { border-color: rgba(107,217,158,.52); color: #b7f2d2; background: rgba(43,150,97,.16); cursor: pointer; }.feedback-chip.unconfirmed { border-color: rgba(244,191,92,.58); color: #f8d893; background: rgba(171,119,24,.16); cursor: pointer; }.feedback-chip.confirmed:hover { border-color: rgba(144,239,190,.88); color: #fff; background: rgba(48,167,109,.32); }.feedback-chip.unconfirmed:hover { border-color: rgba(255,221,133,.9); color: #fff; background: rgba(187,130,26,.33); }.feedback-comment { flex-basis: 100%; overflow: hidden; color: #b9aeb0; font-size: 9px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }.feedback-comment.confirmed { color: #9be3bd; cursor: pointer; }.feedback-comment.unconfirmed { color: #ebc978; cursor: pointer; }.shape-row.has-confirmed-feedback { border-left-color: rgba(93,210,146,.72); background: linear-gradient(90deg, rgba(44,153,98,.12), transparent 62%); }.shape-row.has-unconfirmed-feedback { border-left-color: rgba(244,191,92,.75); background: linear-gradient(90deg, rgba(174,119,23,.12), transparent 62%); }.shape-row.has-confirmed-feedback.has-unconfirmed-feedback { border-left-color: #e8c36c; background: linear-gradient(90deg, rgba(174,119,23,.12), rgba(44,153,98,.08), transparent 70%); }.shape-row.history-feedback-focused { border-color: #bcb6ff !important; background: rgba(119,106,232,.14) !important; box-shadow: 0 0 0 1px rgba(188,182,255,.18), 0 0 18px rgba(130,117,240,.2); }.previous-feedback-row { border-color: rgba(157,151,255,.35); background: rgba(105,95,202,.08); }.previous-feedback-row > .history-feedback-locate { cursor: pointer; }.previous-feedback-row > .history-feedback-locate:hover { border-color: rgba(192,187,255,.72); background: rgba(111,98,220,.12); }.previous-feedback-row i { background: #9d97ff; }
.missing-feedback-row .feedback-visibility { right: 3px; }.missing-feedback-row .remove-feedback { right: 32px; }
.missing-feedback-row .edit-feedback { position: absolute; top: 5px; right: 59px; width: 20px; height: 20px; padding: 0; border: 0; border-radius: 5px; color: #ffb5ad; background: transparent; font-size: 11px; line-height: 1; }.missing-feedback-row .edit-feedback:hover { color: #fff; background: rgba(255,255,255,.12); }
body.light-theme .shape-feedback-detail { color: #a62c22 !important; }.light-theme .feedback-reference { color: #8f2018; }.light-theme .feedback-reference:hover { color: #4e130e; }.light-theme .missing-feedback-row { border-color: rgba(180,35,24,.28); background: #fff0ee; }
.light-theme .shape-section .open-feedback-count { border-color: rgba(180,35,24,.36); color: #a62c22; background: #fff0ee; }.light-theme .shape-section .fixed-feedback-count { border-color: rgba(24,131,95,.34); color: #096543; background: #e8f8ef; }.light-theme .selected-rework-feedback { border-color: rgba(180,35,24,.25); background: #fff5f3; }.light-theme .selected-rework-feedback-heading span { color: #a62c22; }.light-theme .selected-rework-feedback-heading small { color: #765d61; }.light-theme .selected-rework-feedback article { background: #fff; }.light-theme .selected-rework-feedback article strong { color: #7e241d; }.light-theme .selected-rework-feedback p { color: #5f474b; }.light-theme .confirm-rework-fix { border-color: rgba(24,131,95,.38); color: #096543; background: #e8f8ef; }.light-theme .confirm-rework-fix:hover { color: #fff; border-color: #18835f; background: #18835f; }.light-theme .confirm-missing-fix { color: #096543; background: #edf9f1; }.light-theme .feedback-chip.confirmed { border-color: rgba(24,131,95,.35); color: #096543; background: #e8f8ef; }.light-theme .feedback-chip.unconfirmed { border-color: rgba(174,116,16,.36); color: #875506; background: #fff4d7; }.light-theme .feedback-comment.confirmed { color: #147353; }.light-theme .feedback-comment.unconfirmed { color: #8d5d0d; }.light-theme .shape-row.has-confirmed-feedback { border-left-color: #3aa975; background: linear-gradient(90deg, #edf9f1, transparent 62%); }.light-theme .shape-row.has-unconfirmed-feedback { border-left-color: #d69b2e; background: linear-gradient(90deg, #fff7e5, transparent 62%); }.light-theme .shape-row.has-confirmed-feedback.has-unconfirmed-feedback { border-left-color: #d69b2e; background: linear-gradient(90deg, #fff7e5, #edf9f1, transparent 70%); }
.light-theme .feedback-chip.current { border-color: rgba(180,35,24,.38); color: #9c2c23; background: #fff0ee; }.light-theme .feedback-chip.previous { border-color: rgba(82,70,184,.35); color: #554aaf; background: #f1efff; }.light-theme .feedback-chip.previous:hover { border-color: #6c60ce; color: #3e347f; background: #e7e4ff; }.light-theme .feedback-comment.previous { color: #625d92; }.light-theme .shape-row.history-feedback-focused { border-color: #8579df !important; background: #f0efff !important; box-shadow: 0 0 0 1px rgba(108,96,206,.18), 0 0 18px rgba(108,96,206,.14); }.light-theme .previous-feedback-row { border-color: rgba(82,70,184,.27); background: #f7f6ff; }.light-theme .previous-feedback-row i { background: #756ad2; }
body.light-theme .qc-feedback-existing { border-color: rgba(180,35,24,.2); background: #fff5f3; }.light-theme .qc-feedback-existing > span { color: #a62c22; }.light-theme .qc-feedback-existing button:first-child { color: #6b302b; }.light-theme .qc-feedback-new-heading { color: #a62c22; }.light-theme .qc-feedback-history-inline { border-color: rgba(46,122,196,.2); background: #f5faff; }.light-theme .qc-feedback-history-inline > div span { color: #28659b; }.light-theme .qc-feedback-history-inline > div small { color: #61788e; }.light-theme .qc-feedback-history-inline article { background: #fff; }.light-theme .qc-feedback-history-inline article strong { color: #875506; }.light-theme .qc-feedback-history-inline article.confirmed strong { color: #096543; }.light-theme .qc-feedback-history-inline article p { color: #526a81; }.light-theme .qc-feedback-issue-options button.active, .light-theme .qc-feedback-class-options button.active { border-color: #c4544a; color: #7e241d; background: #ffe6e2; box-shadow: inset 0 0 0 1px rgba(180,35,24,.12); }.light-theme .feedback-history { border-color: rgba(46,122,196,.2); background: #f5faff; }.light-theme .feedback-history article { background: #fff; }.light-theme .feedback-history article strong { color: #24415e; }.light-theme .feedback-history article small { color: #607b94; }
body.light-theme .workbench-reject { color: #a62c22; border-color: rgba(180,35,24,.34); background: #fff0ee; }.light-theme .workbench-reject:hover { color: #fff; background: #b42318; }.light-theme .qc-feedback-summary { color: #a62c22; border-color: rgba(180,35,24,.25); background: #fff0ee; }.light-theme .qc-feedback-popover { border-color: rgba(180,35,24,.26); color: #2e3f52; background: #fff; box-shadow: 0 16px 38px rgba(44,62,80,.2); }.light-theme .qc-feedback-title strong { color: #7e241d; }.light-theme .qc-feedback-popover > p, .light-theme .qc-feedback-comment { color: #6b6070; }.light-theme .qc-feedback-issue-options button, .light-theme .qc-feedback-class-options button, .light-theme .qc-feedback-comment-add { border-color: rgba(29,55,82,.16); color: #455b72; background: #f7faff; }.light-theme .qc-feedback-comment textarea { border-color: rgba(29,55,82,.18); color: #2a4058; background: #fff; }.light-theme .rework-feedback { border-color: rgba(180,35,24,.25); background: #fff4f2; }.light-theme .rework-feedback-heading span { color: #b42318; }.light-theme .rework-feedback-heading strong { color: #70201a; }.light-theme .rework-feedback > p, .light-theme .rework-feedback-list article small { color: #765d61; }.light-theme .rework-feedback-list article { background: #fff; }.light-theme .rework-feedback-list article strong { color: #8f2d25; }.light-theme .rework-feedback-list article p { color: #5f474b; }
.light-theme .workbench-hold { border-color: transparent; color: #92611f; background: transparent; }.light-theme .workbench-hold:hover { border-color: #e7b15e; color: #684112; background: #fff6e4; }
.platform-dialog-heading p { max-height: 170px; overflow-y: auto; overflow-wrap: anywhere; }

/* Shared task-table geometry: the queue columns stay aligned and controls never overlap. */
.task-table-header { display: grid; min-height: 44px; align-items: center; gap: 12px; padding: 7px 12px; border-bottom: 1px solid var(--line); color: #8193a8; background: rgba(113,183,255,.035); font-size: 10px; font-weight: 680; }
.task-table-select { display: grid; place-items: center; }.task-table-select input { accent-color: var(--blue); }
.task-table-column-action { display: inline-flex; width: max-content; max-width: 100%; align-items: center; gap: 4px; padding: 5px 6px; border: 0; border-radius: 6px; color: #9eb1c6; background: transparent; font: inherit; font-weight: 680; white-space: nowrap; }.task-table-column-action:hover { color: #e4f1ff; background: rgba(113,183,255,.13); }
.platform-task-list .task-table-header, .platform-task-list .platform-task-row { grid-template-columns: 30px minmax(280px, 1fr) minmax(168px, 220px) minmax(150px, 180px) minmax(156px, 180px); }
.platform-task-list .hold-task-table .task-table-header, .platform-task-list .hold-task-table .hold-task-row { grid-template-columns: 30px minmax(240px, 1fr) minmax(130px, 180px) minmax(190px, 250px) minmax(120px, 150px) 112px; }
.platform-task-list .hold-task-table .platform-stage-stepper { justify-self: end; }
#project-detail-content .project-batch-task-list .task-table-header, #project-detail-content .project-batch-task-row { grid-template-columns: 30px minmax(260px, 1fr) minmax(150px, 190px) minmax(140px, 170px) minmax(145px, 175px) minmax(156px, 180px); }
#project-detail-content .hold-task-table .task-table-header, #project-detail-content .hold-task-table .hold-task-row { grid-template-columns: 30px minmax(220px, 1fr) minmax(120px, 160px) minmax(180px, 230px) minmax(110px, 140px) minmax(145px, 175px) 112px; }
#project-detail-content .hold-task-table .platform-stage-stepper { justify-self: end; }
.platform-task-list .work-task-rows { border-top: 0; }.platform-task-list .platform-task-row, #project-detail-content .project-batch-task-row { min-height: 74px; gap: 12px; }
.platform-task-list .platform-stage-stepper, #project-detail-content .platform-stage-stepper { justify-self: start; min-width: 0; }
.platform-task-list .task-assignment-control, #project-detail-content .task-assignment-control { width: auto; max-width: 100%; justify-self: start; }
.platform-task-list .task-assignee-menu, #project-detail-content .task-assignee-menu { z-index: 40; }
.platform-task-list .task-assignee-trigger, #project-detail-content .task-assignee-trigger { width: auto; max-width: 154px; }
.task-column-filter { position: relative; min-width: 0; }.task-column-filter-menu { position: absolute; z-index: 50; top: calc(100% + 6px); left: 0; display: grid; min-width: 160px; max-width: 240px; gap: 3px; padding: 6px; border: 1px solid rgba(116,181,245,.32); border-radius: 9px; background: #172232; box-shadow: 0 13px 28px rgba(0,0,0,.32); }.task-column-filter-menu[hidden] { display: none; }.task-column-filter-menu button { min-height: 28px; overflow: hidden; padding: 5px 7px; border: 0; border-radius: 6px; color: #b8cadb; background: transparent; font-size: 10px; text-align: left; text-overflow: ellipsis; white-space: nowrap; }.task-column-filter-menu button:hover, .task-column-filter-menu button.active { color: #eff7ff; background: rgba(113,183,255,.16); }
.task-tag-dot { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--task-tag-color, #7aa6d8); vertical-align: middle; }.task-tag-chip { display: inline-flex; align-items: center; min-height: 21px; max-width: 100%; padding: 2px 7px; border: 1px solid color-mix(in srgb, var(--task-tag-color, #7aa6d8) 55%, transparent); border-radius: 999px; color: color-mix(in srgb, var(--task-tag-color, #7aa6d8) 78%, white); background: color-mix(in srgb, var(--task-tag-color, #7aa6d8) 16%, transparent); font-size: 9px; font-weight: 750; line-height: 1; white-space: nowrap; }.task-tags-cell { position: relative; display: flex; align-items: center; gap: 5px; min-width: 0; }.task-tag-list { display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; }.task-tags-edit { min-height: 23px; flex: 0 0 auto; padding: 2px 6px; border: 1px dashed rgba(116,181,245,.45); border-radius: 6px; color: #9ecbff; background: transparent; font-size: 9px; font-weight: 700; }.task-tags-edit:hover { border-style: solid; color: #e4f3ff; background: rgba(113,183,255,.12); }.task-tag-menu { position: absolute; z-index: 45; top: calc(100% + 6px); left: 0; display: grid; min-width: 170px; gap: 3px; padding: 7px; border: 1px solid rgba(116,181,245,.32); border-radius: 9px; background: #172232; box-shadow: 0 13px 28px rgba(0,0,0,.32); }.task-tag-menu > span { padding: 2px 5px 4px; color: #8fa7c0; font-size: 9px; font-weight: 720; }.task-tag-menu button { min-height: 27px; padding: 4px 6px; border: 0; border-radius: 6px; color: #b8cadb; background: transparent; font-size: 10px; text-align: left; }.task-tag-menu button:hover, .task-tag-menu button.active { color: #eef7ff; background: rgba(113,183,255,.16); }.task-tag-menu small { padding: 4px; color: #899aae; font-size: 9px; line-height: 1.4; }
body.light-theme .task-table-header { border-color: rgba(29,55,82,.14); color: #65778b; background: #f7fbff; }
body.light-theme .task-table-column-action { color: #49637c; }.light-theme .task-table-column-action:hover { color: #164f84; background: #eaf3fc; }
body.light-theme .task-column-filter-menu { border-color: rgba(29,55,82,.18); background: #fff; box-shadow: 0 13px 28px rgba(29,55,82,.18); }.light-theme .task-column-filter-menu button { color: #455e76; }.light-theme .task-column-filter-menu button:hover, .light-theme .task-column-filter-menu button.active { color: #164f84; background: #eaf3fc; }
body.light-theme .task-tags-edit { border-color: #91c4f4; color: #1763a1; }.light-theme .task-tags-edit:hover { color: #0c4f86; background: #edf6ff; }.light-theme .task-tag-menu { border-color: rgba(29,55,82,.18); background: #fff; box-shadow: 0 13px 28px rgba(29,55,82,.18); }.light-theme .task-tag-menu > span { color: #61768c; }.light-theme .task-tag-menu button { color: #425b73; }.light-theme .task-tag-menu button:hover, .light-theme .task-tag-menu button.active { color: #164f84; background: #eaf3fc; }
.light-theme .rework-instructions-panel { border-color: rgba(180,35,24,.25); background: #fff4f2; }.light-theme .open-feedback-panel { border-color: rgba(46,122,196,.24); background: #f5faff; }.light-theme .rework-panel-heading > span { color: #9f2e25; }.light-theme .open-feedback-panel .rework-panel-heading > span { color: #28659b; }.light-theme .rework-instruction-list article { background: #fff; }.light-theme .rework-instruction-list article small { color: #7a6465; }.light-theme .rework-instruction-list article p { color: #512d2a; }.light-theme .open-feedback-card { border-color: rgba(46,122,196,.2); border-left-color: #5d9ed3; color: #28465f; background: #fff; }.light-theme .open-feedback-card:hover, .light-theme .open-feedback-card.active { border-color: #6ea9da; background: #edf7ff; }.light-theme .open-feedback-card strong { color: #294a65; }.light-theme .open-feedback-card small, .light-theme .open-feedback-card p { color: #5c7590; }
@media (max-width: 920px) { .platform-task-list, #project-detail-content .project-batch-task-list { overflow-x: auto; }.platform-task-list .task-table-header, .platform-task-list .platform-task-row, #project-detail-content .project-batch-task-list .task-table-header, #project-detail-content .project-batch-task-row { min-width: 720px; } }
#my-task-list .my-queue-task-table-header, #my-task-list .my-queue-task-row { grid-template-columns: 30px minmax(260px, 1fr) 150px minmax(142px, 190px) minmax(145px, 175px) 112px; }
#my-task-list .my-queue-task-row { min-height: 70px; gap: 12px; }.task-rework-cell { display: grid; align-items: center; justify-items: start; min-width: 0; }
#my-task-list .my-queue-task-table-header > :last-child, #my-task-list .my-queue-task-row > :last-child { justify-self: end; }

/* Versioned prelabels and first-pass comparison. */
.prelabel-analytics-grid { margin-top: 14px; }
.prelabel-quality-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 14px; }
.prelabel-quality-summary > div { min-width: 0; padding: 11px; border: 1px solid rgba(138,194,255,.16); border-radius: 9px; background: rgba(113,183,255,.055); }
.prelabel-quality-summary strong { display: block; color: #e7f3ff; font-size: 20px; }
.prelabel-quality-summary span { display: block; margin-top: 4px; color: #95a9bd; font-size: 10px; }
.prelabel-analytics-note { display: block; margin: 11px 0 0; color: #9eb0c5; font-size: 11px; line-height: 1.5; }
.prelabel-transitions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 13px; }
.prelabel-transitions strong { margin-right: 3px; color: #b6c8da; font-size: 11px; }
.prelabel-transitions span { padding: 4px 8px; border: 1px solid rgba(138,194,255,.18); border-radius: 999px; color: #c5d9eb; background: rgba(113,183,255,.07); font-size: 10px; }
.analytics-rank-row > span small { display: block; margin-top: 2px; color: #8da4bb; font-size: 9px; white-space: nowrap; }
.prelabel-origin-badge { display: inline-block; margin-left: 8px; padding: 2px 6px; border: 1px solid rgba(138,194,255,.24); border-radius: 999px; color: #aacff4; background: rgba(113,183,255,.1); font-size: 9px; font-weight: 700; vertical-align: middle; white-space: nowrap; }
.prelabel-history-button { flex: 0 0 auto; padding: 3px 6px; border: 1px solid rgba(138,194,255,.32); border-radius: 6px; color: #aed5fa; background: rgba(113,183,255,.1); font-size: 9px; font-weight: 700; }
.prelabel-history-button:hover { color: #fff; background: rgba(113,183,255,.22); }
#project-detail-content .task-tags-cell { flex-wrap: wrap; }
.platform-dialog-choice-options.platform-dialog-choice-vertical { max-height: 42vh; overflow-y: auto; }
.platform-dialog-choice-options.platform-dialog-choice-vertical button { overflow-wrap: anywhere; }
body.light-theme .prelabel-quality-summary > div { border-color: #d7e5f2; background: #f6faff; }
body.light-theme .prelabel-quality-summary strong { color: #23476a; }
body.light-theme .prelabel-quality-summary span, body.light-theme .prelabel-analytics-note, body.light-theme .analytics-rank-row > span small { color: #627c95; }
body.light-theme .prelabel-transitions strong { color: #445e78; }
body.light-theme .prelabel-transitions span, body.light-theme .prelabel-origin-badge { border-color: #c6ddf4; color: #205d94; background: #eef6ff; }
body.light-theme .prelabel-history-button { border-color: #aed2f4; color: #1763a1; background: #f0f7ff; }
body.light-theme .prelabel-history-button:hover { color: #0c4f86; background: #e2f1ff; }
@media (max-width: 760px) { .prelabel-quality-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Joint S3 image + prelabel import preview. */
.s3-prelabel-window { display: flex; flex-direction: column; width: min(1120px, 100%); }
.s3-prelabel-body { min-height: 0; overflow: auto; padding: 18px 24px; }
.s3-prelabel-source-note { margin-bottom: 12px; padding: 11px 13px; border: 1px solid rgba(116,181,245,.22); border-radius: 9px; color: #b9cde2; background: rgba(113,183,255,.06); font-size: 11px; line-height: 1.5; }
.s3-prelabel-source-note code { color: #9fcdf8; }
.s3-prelabel-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.s3-prelabel-toolbar .ghost { font-size: 11px; }
.s3-prelabel-advanced { margin-bottom: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.025); }
.s3-prelabel-layout-options { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; padding: 0; border: 0; }
.s3-prelabel-layout-options legend { margin-bottom: 7px; color: #aebdce; font-size: 11px; font-weight: 650; }
.s3-prelabel-layout-options label { display: inline-flex; align-items: center; gap: 7px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; color: #aebdce; background: rgba(255,255,255,.025); font-size: 11px; cursor: pointer; }
.s3-prelabel-layout-options label:has(input:checked) { border-color: rgba(113,183,255,.52); color: #d5ebff; background: rgba(113,183,255,.12); }
.s3-prelabel-layout-options input[type="radio"] { width: 15px; height: 15px; margin: 0; padding: 0; border: 0; accent-color: var(--blue); background: transparent; box-shadow: none; }
.s3-prelabel-prefixes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: 12px; }
.s3-prelabel-prefixes.same-folder { grid-template-columns: minmax(0, 1fr); }
.s3-prelabel-prefixes label { display: grid; gap: 6px; min-width: 0; color: #aebdce; font-size: 11px; font-weight: 650; }
.s3-prelabel-prefixes input { width: 100%; min-width: 0; }
.s3-prelabel-help { margin: 12px 0 15px; line-height: 1.55; }
.s3-prelabel-help code { color: #9fcdf8; }
.s3-prelabel-summary { padding: 12px 14px; border: 1px solid rgba(116,181,245,.22); border-radius: 9px; color: #b9cde2; background: rgba(113,183,255,.06); font-size: 11px; line-height: 1.5; }
.s3-prelabel-summary strong { color: #e2f1ff; }
.s3-prelabel-pairs { margin-top: 12px; max-height: 390px; overflow: auto; border: 1px solid var(--line); border-radius: 9px; }
.s3-prelabel-pair-actions { position: sticky; z-index: 1; top: 0; display: flex; align-items: center; gap: 9px; padding: 8px 11px; border-bottom: 1px solid var(--line); background: #141e2b; }
.s3-prelabel-pair-actions span { margin-left: auto; color: var(--muted); font-size: 11px; }
.s3-prelabel-pair { display: grid; grid-template-columns: 18px minmax(240px, 1fr) 90px minmax(150px, .65fr); align-items: center; gap: 12px; padding: 10px 12px; border-bottom: 1px solid var(--line); cursor: pointer; }
.s3-prelabel-pair:last-child { border-bottom: 0; }
.s3-prelabel-pair:hover { background: rgba(113,183,255,.045); }
.s3-prelabel-pair.is-protected { opacity: .65; cursor: default; }
.s3-prelabel-pair input { accent-color: var(--blue); }
.s3-prelabel-pair-copy { display: grid; min-width: 0; gap: 3px; }
.s3-prelabel-pair-copy strong, .s3-prelabel-pair-copy small { overflow-wrap: anywhere; }
.s3-prelabel-pair-copy strong { color: #dce9f5; font-size: 11px; }
.s3-prelabel-pair-copy small, .s3-prelabel-reason { color: #91a4b9; font-size: 10px; line-height: 1.4; }
.s3-prelabel-status { width: max-content; padding: 4px 7px; border-radius: 999px; color: #99c9ff; background: rgba(113,183,255,.14); font-size: 10px; font-weight: 700; white-space: nowrap; }
.s3-prelabel-status.update { color: #f3d189; background: rgba(244,191,88,.13); }
.s3-prelabel-status.protected { color: #edaaa4; background: rgba(234,115,103,.12); }
.s3-prelabel-issues { margin-top: 12px; padding: 11px 13px; border: 1px solid rgba(237,155,106,.3); border-radius: 9px; color: #e8be9f; background: rgba(218,129,77,.07); font-size: 10px; }
.s3-prelabel-issues > div { max-height: 130px; overflow: auto; }
.s3-prelabel-issues p { margin: 6px 0 0; overflow-wrap: anywhere; }
body.light-theme .s3-prelabel-source-note { border-color: #c9ddf1; color: #49637d; background: #f3f9ff; }
body.light-theme .s3-prelabel-source-note code { color: #216aa7; }
body.light-theme .s3-prelabel-advanced { border-color: #d2deea; background: #f8fbfe; }
body.light-theme .s3-prelabel-layout-options legend, body.light-theme .s3-prelabel-prefixes label { color: #38516a; }
body.light-theme .s3-prelabel-layout-options label { border-color: #d2deea; color: #38516a; background: #ffffff; }
body.light-theme .s3-prelabel-layout-options label:has(input:checked) { border-color: #91bdf0; color: #174e82; background: #e9f4ff; }
body.light-theme .s3-prelabel-help code { color: #216aa7; }
body.light-theme .s3-prelabel-summary { border-color: #c9ddf1; color: #49637d; background: #f3f9ff; }
body.light-theme .s3-prelabel-summary strong, body.light-theme .s3-prelabel-pair-copy strong { color: #223c57; }
body.light-theme .s3-prelabel-pair-actions { background: #f7fbff; }
body.light-theme .s3-prelabel-pair-copy small, body.light-theme .s3-prelabel-reason { color: #657d95; }
body.light-theme .s3-prelabel-issues { border-color: #e7c5aa; color: #945d37; background: #fff8f2; }
@media (max-width: 760px) { .s3-prelabel-prefixes { grid-template-columns: 1fr; }.s3-prelabel-pair { grid-template-columns: 18px minmax(0,1fr) auto; }.s3-prelabel-reason { grid-column: 2 / -1; } }

/* A short row of selectable QC error types keeps the feedback popover compact. */
.qc-feedback-issue-options { display: flex; flex-wrap: wrap; gap: 5px; }
.qc-feedback-new-heading + .qc-feedback-issue-options { margin-top: 7px; }
.qc-feedback-issue-options button { min-height: 27px; padding: 0 8px; }
body.light-theme .qc-feedback-issue-options button.active { border-color: #c4544a; color: #7e241d; background: #ffe6e2; }

.confirm-rework-fix.resolve-false-positive { width: 100%; border-color: rgba(245,111,98,.58); color: #ffc8c1; background: rgba(201,67,56,.17); }
.confirm-rework-fix.resolve-false-positive:hover { border-color: #f38b80; color: #fff; background: rgba(201,67,56,.38); }
.confirm-rework-fix.resolve-false-positive:disabled { cursor: not-allowed; opacity: .45; }
body.light-theme .confirm-rework-fix.resolve-false-positive { border-color: #e6a29c; color: #9f3027; background: #fff0ee; }
body.light-theme .confirm-rework-fix.resolve-false-positive:hover:not(:disabled) { border-color: #b42318; color: #fff; background: #b42318; }

.work-idle-notice { position: fixed; right: 22px; bottom: 22px; z-index: 1500; width: min(350px,calc(100vw - 44px)); display: grid; gap: 10px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; color: var(--text); background: var(--bg); box-shadow: 0 12px 36px rgba(0,0,0,.22); }
.work-idle-notice [data-idle-time] { font-size: 26px; font-variant-numeric: tabular-nums; }
body.light-theme .work-idle-notice { background: #fff; color: #1c3047; border-color: #cbd7e4; }
body.light-theme .work-idle-notice .secondary { color: #1a5d96; background: #eaf4ff; border-color: #b9d4f4; }
body.light-theme .work-idle-notice .secondary:hover { background: #dceeff; }

/* Preserve retired-class annotations and distinguish them from QC findings. */
.shape-list .shape-row.has-unavailable-class { border: 1px solid #b8863e; background: rgba(255,186,85,.1); }
.shape-list .shape-row.has-unavailable-class.active { border-color: #ffba55; background: rgba(255,186,85,.2); }
.unavailable-class-note { margin: 7px 0; color: #ffba55; font-size: 11px; line-height: 1.5; }
.shape-list .shape-row small.unavailable-class-note { color: #ffba55; font-weight: 700; }
body.light-theme .shape-list .shape-row.has-unavailable-class { border-color: #e0b56d; background: #fff8e9; }
body.light-theme .shape-list .shape-row.has-unavailable-class.active { border-color: #bb790b; background: #fff0cd; }
body.light-theme .unavailable-class-note, body.light-theme .shape-list .shape-row small.unavailable-class-note { color: #935c04; }
