/* ============ QC section ============ */
.qc-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; flex-wrap:wrap; }
.qc-team-tag{ display:inline-flex; align-items:center; gap:7px; font-size:12.5px; color:var(--text-2); background:var(--surface-2); border:1px solid var(--line); padding:7px 13px; border-radius:20px; }
.qc-team-tag svg{ width:14px; height:14px; }

/* chatter menu (level 1) */
.qc-group{ margin-bottom:24px; }
.qc-group-head{ display:flex; align-items:center; gap:9px; font-size:12px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-3); margin-bottom:12px; }
.qc-chatter-menu{ display:flex; flex-direction:column; gap:8px; }
.qc-chatter-item{ display:flex; align-items:center; justify-content:space-between; gap:14px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:16px 18px; cursor:pointer; transition:border-color .15s, transform .15s; text-align:left; }
.qc-chatter-item:hover{ border-color:var(--pink); transform:translateY(-1px); }
.qc-ci-name{ font-family:var(--display); font-weight:600; font-size:15px; color:var(--text); }
.qc-ci-count{ display:inline-flex; align-items:center; gap:8px; font-size:12.5px; color:var(--text-3); }
.qc-ci-count svg{ width:15px; height:15px; color:var(--text-4); }

/* month groups (level 2) */
.qc-title-team{ display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:500; color:var(--text-3); margin-left:10px; vertical-align:middle; }
.qc-month{ margin-bottom:22px; }
.qc-month-head{ display:flex; align-items:center; gap:10px; font-family:var(--display); font-weight:600; font-size:14px; color:var(--text-2); margin-bottom:10px; }
.qc-month-count{ font-size:11px; font-weight:600; color:var(--text-4); background:var(--surface-3); padding:2px 8px; border-radius:10px; }

.qc-list{ display:flex; flex-direction:column; gap:10px; }
.qc-card{ display:flex; align-items:center; justify-content:space-between; gap:14px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:16px 18px; cursor:pointer; transition:border-color .15s, transform .15s; }
.qc-card:hover{ border-color:var(--pink); transform:translateY(-1px); }
.qc-card-top{ display:flex; align-items:center; gap:9px; margin-bottom:5px; }
.qc-chatter{ font-family:var(--display); font-weight:600; font-size:15px; }
.qc-shift{ font-size:11px; color:var(--text-3); background:var(--surface-3); padding:2px 8px; border-radius:10px; }
.qc-partial{ font-size:11px; color:var(--warn); background:var(--warn-dim,rgba(245,158,11,0.12)); padding:2px 8px; border-radius:10px; }
.qc-card-stats{ display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--text-3); flex-wrap:wrap; }
.qc-sep{ color:var(--text-4); }
.qc-card-side{ display:flex; align-items:center; gap:12px; flex-shrink:0; }
.qc-date{ font-size:12.5px; color:var(--text-3); }

.icon-btn{ background:transparent; border:none; color:var(--text-4); cursor:pointer; padding:6px; border-radius:8px; display:inline-flex; }
.icon-btn:hover{ color:var(--text-2); background:var(--surface-3); }
.icon-btn.danger:hover{ color:var(--bad); background:var(--bad-dim); }
.icon-btn svg{ width:16px; height:16px; }

/* form */
.qc-form-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.back-link{ background:transparent; border:none; color:var(--text-3); cursor:pointer; display:inline-flex; align-items:center; gap:5px; font-size:13.5px; padding:6px 4px; }
.back-link:hover{ color:var(--text); }
.back-link svg{ width:16px; height:16px; }

.qc-block{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:20px 22px; margin-bottom:16px; }
.qc-block-title{ font-family:var(--display); font-weight:600; font-size:14.5px; margin-bottom:14px; }
.qc-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.qc-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.qc-field label{ display:block; font-size:11px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; color:var(--text-3); margin-bottom:6px; }
.qc-field label .opt{ font-weight:400; text-transform:none; letter-spacing:0; color:var(--text-4); }
.qc-field input, .qc-field select, .qc-field textarea{ width:100%; background:var(--surface-2); border:1px solid var(--line-2); border-radius:var(--r-sm); padding:10px 13px; color:var(--text); font-size:13.5px; font-family:inherit; }
.qc-field input:focus, .qc-field select:focus, .qc-field textarea:focus{ outline:none; border-color:var(--pink); box-shadow:0 0 0 3px rgba(236,30,121,0.12); }
.qc-field input:disabled{ color:var(--text-3); background:var(--surface-3); }
.qc-field textarea{ resize:vertical; }
.qc-resp{ display:flex; align-items:center; gap:6px; }
.qc-resp input{ width:70px; }
.qc-resp span{ color:var(--text-4); font-size:12px; }
.qc-check{ display:flex; align-items:center; gap:9px; margin-top:14px; font-size:13px; color:var(--text-2); cursor:pointer; }
.qc-check input{ width:16px; height:16px; accent-color:var(--pink); }

/* conversations */
.qc-convo{ background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r-lg); padding:16px 18px; margin-bottom:12px; }
.qc-convo-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.qc-convo-fan{ display:flex; gap:10px; flex:1; }
.qc-convo-fan .c_fan{ flex:1.4; }
.qc-convo-fan .c_tag{ flex:1; }
.qc-convo-fan input{ background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-sm); padding:9px 13px; color:var(--text); font-size:13.5px; font-family:var(--display); font-weight:600; }
.qc-convo-fan input:focus{ outline:none; border-color:var(--pink); }
.qc-points{ display:flex; flex-direction:column; gap:12px; }
.qc-point{ }
.qc-point-row{ display:flex; align-items:flex-start; gap:10px; }
.qc-arrow{ color:var(--pink); font-weight:700; margin-top:9px; }
.qc-point-row textarea{ flex:1; background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r-sm); padding:9px 13px; color:var(--text); font-size:13.5px; font-family:inherit; resize:vertical; }
.qc-point-row textarea:focus{ outline:none; border-color:var(--pink); }
.qc-shots{ display:flex; gap:8px; flex-wrap:wrap; margin:8px 0 0 24px; }
.qc-shot{ position:relative; width:56px; height:56px; border-radius:8px; overflow:hidden; border:1px solid var(--line-2); }
.qc-shot img{ width:100%; height:100%; object-fit:cover; }
.qc-shot-rm{ position:absolute; top:2px; right:2px; width:18px; height:18px; border-radius:50%; background:rgba(0,0,0,0.65); color:#fff; border:none; cursor:pointer; font-size:13px; line-height:1; display:flex; align-items:center; justify-content:center; }
.qc-shot-add{ width:56px; height:56px; border-radius:8px; border:1px dashed var(--line-2); display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--text-4); }
.qc-shot-add:hover{ border-color:var(--pink); color:var(--pink); }
.qc-shot-add svg{ width:18px; height:18px; }
.qc-add-point, .qc-add-convo{ background:transparent; border:1px dashed var(--line-2); border-radius:var(--r-sm); color:var(--text-3); cursor:pointer; padding:9px 14px; font-size:13px; display:inline-flex; align-items:center; gap:6px; margin-top:10px; }
.qc-add-point:hover, .qc-add-convo:hover{ border-color:var(--pink); color:var(--pink); }
.qc-add-convo{ width:100%; justify-content:center; padding:12px; }
.qc-add-point svg, .qc-add-convo svg{ width:15px; height:15px; }

@media (max-width:820px){ .qc-grid-2, .qc-grid-3{ grid-template-columns:1fr; } }

/* QC team checkboxes in invite modal */
.qc-team-checks{ display:flex; flex-direction:column; gap:8px; }
.qc-team-check{ display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--text-2); cursor:pointer; padding:8px 12px; border:1px solid var(--line-2); border-radius:var(--r-sm); }
.qc-team-check input{ width:16px; height:16px; accent-color:var(--pink); }
.qc-team-check em{ color:var(--text-4); font-style:normal; }

/* platform badge in chatter menu + form */
.qc-ci-left{ display:inline-flex; align-items:center; gap:9px; }
.qc-ci-left .badge{ flex-shrink:0; }
.qc-plat-badge{ display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:500; color:var(--text-3); text-transform:none; letter-spacing:0; margin-left:8px; }
.qc-plat-badge .badge{ width:7px; height:7px; }

/* team read-out (auto from chatter) + group platform label */
.qc-team-readout{ display:flex; align-items:center; gap:7px; background:var(--surface-3); border:1px solid var(--line-2); border-radius:var(--r-sm); padding:10px 13px; font-size:13.5px; min-height:41px; }
.qc-muted{ color:var(--text-4); }
.qc-group-plat{ font-weight:400; color:var(--text-4); font-size:11px; text-transform:none; letter-spacing:0; margin-left:4px; }

/* ===== Fanvue checker ===== */
.chk-controls{ display:flex; align-items:flex-end; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.chk-shifts{ display:flex; gap:8px; flex-wrap:wrap; }
.chk-shift{ background:var(--surface-2); border:1px solid var(--line-2); border-radius:var(--r-sm); color:var(--text-2); cursor:pointer; padding:9px 14px; font-size:13px; display:inline-flex; align-items:center; gap:6px; }
.chk-shift:hover{ border-color:var(--pink); }
.chk-shift.active{ background:var(--pink); border-color:var(--pink); color:#fff; }
.chk-sh-time{ font-size:11px; opacity:0.7; }
.chk-date-wrap label{ display:block; font-size:11px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; color:var(--text-3); margin-bottom:6px; }
.chk-tz{ font-weight:400; text-transform:none; letter-spacing:0; color:var(--text-4); }
.chk-date-wrap input{ background:var(--surface-2); border:1px solid var(--line-2); border-radius:var(--r-sm); padding:9px 13px; color:var(--text); font-size:13.5px; }
.chk-range-note{ font-size:12.5px; color:var(--text-3); margin-bottom:16px; }
.chk-tablewrap{ overflow-x:auto; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); }
.chk-table{ width:100%; border-collapse:collapse; font-size:13.5px; }
.chk-table th{ text-align:right; padding:13px 14px; font-size:11px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:var(--text-3); border-bottom:1px solid var(--line); white-space:nowrap; }
.chk-table th.l, .chk-table td.l{ text-align:left; }
.chk-table td{ text-align:right; padding:13px 14px; border-bottom:1px solid var(--line); white-space:nowrap; }
.chk-table tbody tr:last-child td{ border-bottom:none; }
.chk-table tbody tr:hover{ background:var(--surface-2); }
.chk-name{ display:flex; align-items:center; gap:8px; font-weight:600; font-family:var(--display); }
.chk-fvname{ font-weight:400; font-size:11px; color:var(--text-4); }
.chk-unlinked{ font-size:10px; color:var(--warn); background:var(--warn-dim,rgba(245,158,11,0.12)); padding:1px 6px; border-radius:8px; text-transform:uppercase; letter-spacing:0.04em; }
.chk-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:14px; font-size:12.5px; color:var(--text-3); }
.map-list{ display:flex; flex-direction:column; gap:8px; max-width:640px; }
.map-row{ display:flex; align-items:center; justify-content:space-between; gap:14px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-sm); padding:12px 16px; }
.map-chatter{ font-weight:600; font-family:var(--display); }
.map-select{ background:var(--surface-2); border:1px solid var(--line-2); border-radius:var(--r-sm); padding:8px 12px; color:var(--text); font-size:13px; min-width:220px; }

/* shift info card (informational, not a filter) */
.chk-shift-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:16px 18px; margin-bottom:18px; }
.chk-shift-cells{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.chk-shift-cell{ display:flex; flex-direction:column; gap:4px; padding:14px 16px; border-radius:10px; background:var(--bg-2,#12151c); border:1px solid var(--line); position:relative; }
.chk-shift-cell.now{ background:rgba(46,207,143,0.08); border-color:rgba(46,207,143,0.4); }
.chk-shift-badge{ position:absolute; top:14px; right:14px; }
.chk-shift-head{ font-family:var(--display); font-weight:600; font-size:13.5px; margin-bottom:12px; display:flex; align-items:center; justify-content:space-between; }
.chk-shift-row{ display:flex; align-items:center; gap:12px; padding:8px 10px; border-radius:var(--r-sm); }
.chk-shift-row.now{ background:rgba(46,207,143,0.10); border:1px solid rgba(46,207,143,0.35); }
.chk-shift-name{ font-weight:600; min-width:64px; font-size:13px; }
.chk-shift-hours{ color:var(--text-2); font-size:13px; font-variant-numeric:tabular-nums; }
.chk-shift-badge{ margin-left:auto; font-size:10px; text-transform:uppercase; letter-spacing:0.05em; color:#2ecf8f; background:rgba(46,207,143,0.15); padding:2px 8px; border-radius:10px; font-weight:600; }

/* draft autosave indicator */
.qc-form-actions{ display:flex; align-items:center; gap:14px; }
.qc-draft-flag{ font-size:12px; color:var(--text-4); opacity:0; transition:opacity .2s; display:inline-flex; align-items:center; gap:5px; }
.qc-draft-flag.show{ opacity:1; }
.qc-draft-flag::before{ content:''; width:6px; height:6px; border-radius:50%; background:#2ecf8f; display:inline-block; }

/* checker quick date ranges */
.chk-quick{ display:flex; gap:6px; align-items:flex-end; }
.chk-q{ background:var(--surface-2); border:1px solid var(--line-2); border-radius:var(--r-sm); color:var(--text-2); cursor:pointer; padding:9px 12px; font-size:12.5px; }
.chk-q:hover{ border-color:var(--pink); color:var(--text); }

/* ===== conversation viewer ===== */
.cv-list{ display:flex; flex-direction:column; gap:8px; }
.cv-item{ display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:14px 16px; cursor:pointer; text-align:left; }
.cv-item:hover{ border-color:var(--pink); }
.cv-item-main{ display:flex; align-items:center; gap:9px; }
.cv-fan{ font-family:var(--display); font-weight:600; font-size:14px; }
.cv-top{ font-size:10px; color:#f0b429; background:rgba(240,180,41,0.12); padding:2px 7px; border-radius:9px; text-transform:uppercase; letter-spacing:0.04em; }
.cv-unread{ font-size:11px; color:#fff; background:var(--pink); padding:1px 7px; border-radius:9px; }
.cv-time{ font-size:12px; color:var(--text-3); }
.cv-head{ margin:4px 0 16px; }
.cv-fan-big{ font-family:var(--display); font-weight:600; font-size:18px; }
.cv-filter{ display:flex; gap:6px; }
.cv-f{ background:var(--surface-2); border:1px solid var(--line-2); border-radius:var(--r-sm); color:var(--text-2); cursor:pointer; padding:7px 12px; font-size:12.5px; }
.cv-f.active{ background:var(--pink); border-color:var(--pink); color:#fff; }
.cv-thread{ display:flex; flex-direction:column; gap:10px; max-width:760px; }
.cv-msg{ max-width:78%; padding:10px 13px; border-radius:14px; border:1px solid var(--line); }
.cv-msg.in{ align-self:flex-start; background:var(--surface-2); border-bottom-left-radius:4px; }
.cv-msg.out{ align-self:flex-end; background:rgba(75,155,255,0.08); border-color:rgba(75,155,255,0.25); border-bottom-right-radius:4px; }
.cv-msg-meta{ display:flex; align-items:center; gap:10px; margin-bottom:4px; }
.cv-who{ font-size:11.5px; font-weight:700; color:var(--text-2); }
.cv-mt{ font-size:11px; color:var(--text-4); }
.cv-text{ font-size:13.5px; line-height:1.45; white-space:pre-wrap; }
.cv-media{ font-size:12.5px; color:var(--text-3); font-style:italic; }
.cv-badge{ display:inline-block; margin-top:7px; font-size:11px; padding:3px 9px; border-radius:10px; font-weight:600; }
.cv-badge.paid{ color:#2ecf8f; background:rgba(46,207,143,0.13); }
.cv-badge.unpaid{ color:var(--warn,#f59e0b); background:rgba(245,158,11,0.13); }
.cv-badge.tip{ color:#f0b429; background:rgba(240,180,41,0.13); }

/* ===== conversations page: selection + list extras ===== */
.cv-selbar{ display:flex; align-items:center; gap:12px; min-height:0; margin-bottom:12px; }
.cv-selbar:not(:empty){ min-height:44px; }
.cv-selcount{ font-size:13px; color:var(--text-2); font-weight:600; }
.cv-item-sel{ cursor:pointer; }
.cv-item-sel .cv-check{ width:18px; height:18px; accent-color:var(--pink); flex:none; }
.cv-item-body{ flex:1; display:flex; flex-direction:column; gap:4px; min-width:0; }
.cv-item-sub{ display:flex; align-items:center; gap:10px; font-size:12px; }
.cv-creator{ font-size:11px; color:var(--text-3); background:var(--surface-2); padding:2px 8px; border-radius:8px; }
.cv-chatters{ color:var(--of,#4b9bff); font-weight:600; }
.cv-chatters.muted{ color:var(--text-4); font-weight:400; }
.cv-ppvpill{ color:var(--text-3); background:var(--surface-2); padding:2px 8px; border-radius:8px; }

/* ===== Infloww-style multi viewer ===== */
.mv-wrap{ display:flex; flex-direction:column; height:calc(100vh - 40px); }
.mv-top{ display:flex; align-items:center; gap:16px; padding:4px 4px 12px; border-bottom:1px solid var(--line); }
.mv-tabs{ display:flex; gap:6px; overflow-x:auto; flex:1; }
.mv-tab{ white-space:nowrap; background:var(--surface-2); border:1px solid var(--line-2); border-radius:20px; color:var(--text-2); cursor:pointer; padding:7px 15px; font-size:13px; font-weight:500; }
.mv-tab.active{ background:var(--pink); border-color:var(--pink); color:#fff; }
.mv-tab-top{ color:#f0b429; }
.mv-tab.active .mv-tab-top{ color:#fff; }
.mv-main{ display:flex; gap:16px; flex:1; min-height:0; padding-top:14px; }
.mv-chat{ flex:1; display:flex; flex-direction:column; min-height:0; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
.mv-chat-head{ padding:14px 18px; border-bottom:1px solid var(--line); background:var(--surface); position:sticky; top:0; z-index:2; display:flex; align-items:baseline; gap:10px; flex:none; }
.mv-fan{ font-family:var(--display); font-weight:600; font-size:16px; }
.mv-creator{ font-size:12px; color:var(--text-3); }
.mv-chat-scroll{ flex:1; overflow-y:auto; padding:18px; }
.mv-side{ width:290px; flex:none; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:18px; overflow-y:auto; }
.mv-side-head{ font-family:var(--display); font-weight:600; font-size:15px; margin-bottom:14px; }
.mv-side-rows{ display:flex; flex-direction:column; gap:9px; }
.mv-side-row{ display:flex; align-items:center; justify-content:space-between; font-size:13px; }
.mv-side-row span{ color:var(--text-3); }
.mv-side-notes{ margin-top:16px; font-size:13px; color:var(--text-2); }
.mv-side-notes-h{ font-size:11px; text-transform:uppercase; letter-spacing:0.05em; color:var(--text-3); margin-bottom:5px; }
.mv-side-hint,.mv-side-load{ margin-top:14px; font-size:12px; color:var(--text-4); line-height:1.5; }
.cv-media-img{ display:block; max-width:220px; max-height:260px; border-radius:10px; margin-top:8px; border:1px solid var(--line); }

/* dark-styled selects in checker controls */
.chk-date-wrap select{ background:var(--surface-2); border:1px solid var(--line-2); border-radius:var(--r-sm); padding:9px 32px 9px 13px; color:var(--text); font-size:13.5px; min-width:180px; cursor:pointer; appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8a9a' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 11px center; }
.chk-date-wrap select:hover{ border-color:var(--pink); }
.chk-date-wrap select:focus{ outline:none; border-color:var(--pink); }
.chk-date-wrap select option{ background:var(--surface-2); color:var(--text); }

/* scan progress bar */
.scan-progress{ margin:8px 0 4px; }
.scan-progress-bar{ height:8px; background:var(--surface-3); border-radius:6px; overflow:hidden; }
.scan-progress-fill{ height:100%; background:linear-gradient(90deg,var(--pink),var(--purple,#a855f7)); width:0%; transition:width .2s ease; }
.scan-progress-label{ font-size:12.5px; color:var(--text-3); margin-top:7px; }

/* message-cache sync line */
.cv-syncline{ display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; color:var(--text-3); background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r-sm); padding:8px 13px; margin-bottom:12px; }
.cv-syncbtn{ background:transparent; border:1px solid var(--line-2); border-radius:var(--r-sm); color:var(--text-2); cursor:pointer; padding:5px 11px; font-size:12px; }
.cv-syncbtn:hover{ border-color:var(--pink); color:var(--text); }

/* ===== multi-viewer sizing fix + media ===== */
.mv-wrap{ height: calc(100vh - 32px); }
.mv-main{ min-height: 0; }
.mv-chat, .mv-side{ min-height: 0; }
.mv-chat .cv-thread{ max-width: none; }         /* fill the chat width */
.mv-chat-scroll{ min-height: 0; }
.cv-media-wrap{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.cv-media-slot{ min-width:140px; }
.cv-media-ph{ font-size:12px; color:var(--text-4); font-style:italic; padding:20px 14px; background:var(--surface-3); border-radius:10px; border:1px dashed var(--line-2); text-align:center; }
.cv-media-img{ display:block; max-width:240px; max-height:300px; border-radius:10px; border:1px solid var(--line); object-fit:cover; }

/* fan info redesign */
.mv-side-handle{ font-size:12.5px; color:var(--text-3); margin:-8px 0 14px; }
.mv-top-star{ font-size:11px; color:#f0b429; background:rgba(240,180,41,0.13); padding:2px 8px; border-radius:9px; font-weight:600; vertical-align:middle; }
.mv-stat-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:16px; }
.mv-stat{ background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r-sm); padding:11px 13px; }
.mv-stat-k{ font-size:11px; text-transform:uppercase; letter-spacing:0.04em; color:var(--text-3); margin-bottom:5px; }
.mv-stat-v{ font-size:14px; font-weight:600; font-family:var(--display); }
.mv-stat-v.big{ font-size:19px; background:linear-gradient(90deg,var(--pink),var(--purple,#a855f7)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.mv-side-sec{ margin-bottom:16px; }
.mv-side-sec-h{ font-size:11px; text-transform:uppercase; letter-spacing:0.05em; color:var(--text-3); margin-bottom:8px; padding-bottom:6px; border-bottom:1px solid var(--line); }
.cv-badge.dup{ color:#ff5c7a; background:rgba(255,92,122,0.14); display:block; margin-top:7px; }
.cv-msg.dup{ border-color:rgba(255,92,122,0.4); }

/* floating-bar pills: removable + draggable */
.mv-tab{ display:inline-flex; align-items:center; gap:7px; user-select:none; }
.mv-tab-label{ pointer-events:none; }
.mv-tab-x{ display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; border-radius:50%; font-size:14px; line-height:1; opacity:0.55; cursor:pointer; }
.mv-tab-x:hover{ opacity:1; background:rgba(255,255,255,0.18); }
.mv-tab.active .mv-tab-x:hover{ background:rgba(255,255,255,0.25); }
.mv-tab-drag{ opacity:0.4; }
.mv-tab-over{ box-shadow:inset 2px 0 0 var(--pink); }

/* ===== Conversation viewer: chat + docked reflection panel ===== */
.mv-main{ display:flex; gap:14px; height:calc(100vh - 150px); padding:0 4px; }
.mv-chat{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; background:var(--panel, #171b24); border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.mv-reflection{ flex:0 0 500px; width:500px; overflow-y:auto; padding:18px; background:var(--panel, #171b24); border:1px solid var(--line); border-radius:16px; }
.mv-wrap.refl-collapsed .mv-reflection{ display:none; }
.mv-refl-toggle{ margin-left:auto; }

/* compact fan-info strip in the chat head */
.mv-head-line{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.mv-strip{ display:inline-flex; align-items:center; gap:10px; margin-left:6px; padding:5px 12px; background:var(--panel, #171b24); border:1px solid var(--line); border-radius:20px; font-size:13px; }
.mv-strip-i{ display:inline-flex; align-items:baseline; gap:5px; }
.mv-strip-k{ color:var(--text-4, #8a93a6); font-size:11px; text-transform:uppercase; letter-spacing:.04em; }
.mv-strip-v{ font-weight:600; color:var(--text-1, #e9edf5); }
.mv-strip-v.ok{ color:#2ecf8f; }
.mv-strip-v.off{ color:#8a93a6; }
.mv-strip-sep{ width:1px; height:14px; background:var(--line); }

/* reflection panel */
.refl-head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:14px; }
.refl-title{ font-size:15px; font-weight:600; }
.refl-date{ font-size:12px; color:var(--text-4); }
.refl-saved{ color:#2ecf8f; } .refl-draft{ color:#e0a53f; }
.refl-stats{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:10px; }
.refl-stat{ display:flex; flex-direction:column; gap:3px; background:var(--panel-2, #12151c); border:1px solid var(--line); border-radius:8px; padding:8px 10px; }
.refl-stat span{ font-size:10px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-4); }
.refl-stat input{ background:transparent; border:none; color:var(--text-1); font-size:16px; font-weight:600; width:100%; padding:0; }
.refl-stat input:focus{ outline:none; }
.refl-stat b{ font-size:16px; }
.refl-sec-h{ font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-4); margin:6px 0 6px; }
.refl-textarea{ width:100%; background:var(--panel-2, #12151c); border:1px solid var(--line); border-radius:8px; color:var(--text-1); padding:10px; font-size:13px; font-family:inherit; resize:vertical; box-sizing:border-box; }
.refl-textarea:focus{ outline:none; border-color:var(--pink, #e0559b); }
.refl-shots{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.refl-shot{ position:relative; width:72px; height:72px; border-radius:6px; overflow:hidden; border:1px solid var(--line); }
.refl-shot img{ width:100%; height:100%; object-fit:cover; }
.refl-shot-x{ position:absolute; top:2px; right:2px; width:18px; height:18px; border-radius:50%; border:none; background:rgba(0,0,0,.6); color:#fff; cursor:pointer; font-size:12px; line-height:1; }
.refl-shot-actions{ display:flex; align-items:center; gap:10px; margin-top:8px; }
.refl-shot-hint{ font-size:11px; color:var(--text-4); }
.refl-fans-note{ font-size:11px; color:var(--text-4); margin:14px 0 8px; }
.refl-save{ width:100%; }
.refl-empty{ padding:20px; color:var(--text-3, #b6bdca); }
.refl-empty-h{ font-size:15px; font-weight:600; margin-bottom:10px; }
.refl-empty p{ font-size:13px; line-height:1.5; }
.refl-empty-sub{ color:var(--text-4); }

.refl-partial{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--text-3, #b6bdca); margin-bottom:16px; cursor:pointer; }
.refl-partial input{ width:15px; height:15px; }
.refl-modal-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.5); display:flex; align-items:center; justify-content:center; z-index:1000; }
.refl-modal{ background:var(--panel, #171b24); border:1px solid var(--line); border-radius:14px; padding:22px; width:460px; max-width:92vw; max-height:88vh; overflow-y:auto; }
.refl-modal-wide{ width:660px; max-width:94vw; }
.refl-modal-h{ font-size:16px; font-weight:600; margin-bottom:4px; }
.refl-modal-sub{ font-size:12px; color:var(--text-4); margin:0 0 12px; }
.refl-modal-actions{ display:flex; justify-content:flex-end; gap:10px; margin-top:14px; }

/* conversations sync progress bar */
.cv-sync{ margin-bottom:16px; }
.cv-syncbar{ height:6px; background:var(--panel-2,#12151c); border-radius:3px; overflow:hidden; margin-top:8px; }
.cv-syncbar-fill{ height:100%; background:linear-gradient(90deg,#7c5cff,#e0559b); transition:width .5s ease; border-radius:3px; }
.cv-syncbar.indeterminate .cv-syncbar-fill{ width:35%; border-radius:3px; animation:cvIndet 1.1s ease-in-out infinite; }
@keyframes cvIndet{ 0%{ margin-left:-35%; } 100%{ margin-left:100%; } }

.cv-syncbtns{ display:inline-flex; gap:8px; }
.cv-syncbtn.ghost{ background:transparent; border:1px solid var(--line); }

/* fan-count card next to Load */
.cv-fancount{ display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:0; padding:6px 16px; margin-left:10px; background:var(--panel,#171b24); border:1px solid var(--line); border-radius:10px; min-width:64px; line-height:1.1; }
.cv-fancount-n{ font-size:18px; font-weight:700; color:var(--text-1,#e9edf5); }
.cv-fancount-l{ font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:var(--text-4,#8a93a6); }

/* multiple feedback points per fan */
.refl-point{ background:var(--panel-2,#12151c); border:1px solid var(--line); border-radius:10px; padding:12px; margin-bottom:10px; }
.refl-point-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.refl-point-n{ font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-4,#8a93a6); font-weight:600; }
.refl-point-x{ width:20px; height:20px; border-radius:50%; border:none; background:rgba(255,255,255,.06); color:var(--text-3,#b6bdca); cursor:pointer; font-size:14px; line-height:1; }
.refl-point-x:hover{ background:rgba(229,72,77,.2); color:#e5686d; }
.refl-point .refl-textarea{ background:var(--panel,#171b24); }
.refl-add-point{ width:100%; margin-bottom:14px; border-style:dashed; }

.refl-overall-fan-h{ margin-top:14px; }
.cv-media-retry{ margin-left:8px; padding:2px 8px; font-size:11px; border:1px solid var(--line); background:transparent; color:var(--text-3,#b6bdca); border-radius:5px; cursor:pointer; }
.cv-media-retry:hover{ background:rgba(255,255,255,.06); }

.cv-media-fan{ font-style:italic; opacity:.7; }

/* ===== QC — Dashboard clock ===== */
.qc-clock-card{ max-width:560px; margin:0 auto; background:var(--panel,#171b24); border:1px solid var(--line); border-radius:18px; padding:32px; text-align:center; }
.qc-clock-card.on-break{ border-color:#e0a53f55; }
.qcc-h{ font-size:20px; font-weight:600; margin-bottom:8px; }
.qcc-sub{ font-size:14px; color:var(--text-4,#8a93a6); margin:0 0 22px; line-height:1.5; }
.qcc-big{ width:auto; padding:14px 40px; font-size:16px; }
.qcc-status{ display:inline-flex; align-items:center; gap:8px; font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:var(--text-3,#b6bdca); margin-bottom:14px; }
.qcc-dot{ width:9px; height:9px; border-radius:50%; }
.qcc-dot.live{ background:#2ecf8f; box-shadow:0 0 0 4px rgba(46,207,143,.15); animation:qccPulse 2s ease-in-out infinite; }
.qcc-dot.break{ background:#e0a53f; box-shadow:0 0 0 4px rgba(224,165,63,.15); }
@keyframes qccPulse{ 0%,100%{ opacity:1; } 50%{ opacity:.4; } }
.qcc-ot{ color:#e0a53f; text-transform:none; letter-spacing:0; }
.qcc-counter{ font-size:52px; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:1px; color:var(--text-1,#e9edf5); }
.qcc-counter-label{ font-size:12px; color:var(--text-4,#8a93a6); margin-top:4px; margin-bottom:26px; }
.qcc-actions{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.qcc-actions .btn-ghost, .qcc-actions .btn-primary{ width:auto; padding:11px 22px; margin:0; }
.qcc-out{ color:#e5686d !important; }
.qcc-foot{ font-size:12px; color:var(--text-4,#8a93a6); margin-top:20px; }

/* ===== QC — Dashboard: alive layout ===== */
.qc-hero{ display:flex; align-items:center; justify-content:space-between; gap:16px; background:linear-gradient(135deg, rgba(155,46,255,.10), rgba(74,158,255,.06)); border:1px solid var(--line); border-radius:16px; padding:22px 26px; margin-bottom:18px; }
.qc-hero-date{ font-size:13px; color:var(--text-3,#b6bdca); text-transform:uppercase; letter-spacing:.05em; }
.qc-hero-clock{ font-size:34px; font-weight:700; font-variant-numeric:tabular-nums; color:var(--text-1,#e9edf5); line-height:1.1; }
.qc-hero-badge{ font-size:12px; font-weight:600; padding:7px 14px; border-radius:20px; text-transform:uppercase; letter-spacing:.04em; }
.qc-hero-badge.off{ background:rgba(138,147,166,.15); color:#8a93a6; }
.qc-hero-badge.on{ background:rgba(46,207,143,.15); color:#2ecf8f; }
.qc-hero-badge.brk{ background:rgba(224,165,63,.15); color:#e0a53f; }
.qc-panels{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:18px; max-width:900px; margin-left:auto; margin-right:auto; }
.qc-panel{ background:var(--panel,#171b24); border:1px solid var(--line); border-radius:14px; padding:20px; }
.qc-panel-h{ display:flex; align-items:center; gap:8px; font-size:14px; font-weight:600; margin-bottom:10px; }
.qc-panel-h svg{ width:16px; height:16px; opacity:.7; }
.qc-panel-empty{ font-size:13px; color:var(--text-4,#8a93a6); margin:0; line-height:1.5; }
@media (max-width:720px){ .qc-panels{ grid-template-columns:1fr; } }

/* ===== Admin QC Schedule overview ===== */
.qcov-bar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.qcov-filter{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.qcov-filter label{ font-size:12px; color:var(--text-3,#b6bdca); display:flex; align-items:center; gap:6px; }
.qcov-filter input{ background:var(--panel-2,#12151c); border:1px solid var(--line); border-radius:7px; color:var(--text-1,#e9edf5); padding:6px 8px; font-size:13px; }
.qcov-tz{ font-size:11px; color:var(--text-4,#8a93a6); text-transform:uppercase; letter-spacing:.04em; }
.qcov-card{ background:var(--panel,#171b24); border:1px solid var(--line); border-radius:14px; padding:20px; margin-bottom:16px; }
.qcov-head{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:14px; }
.qcov-name{ font-size:17px; font-weight:600; }
.qcov-totals{ display:flex; gap:16px; flex-wrap:wrap; font-size:13px; color:var(--text-3,#b6bdca); }
.qcov-totals b{ color:var(--text-1,#e9edf5); }
.qcov-ot{ color:#e0a53f; }
.qcov-brk{ color:#4a9eff; }
.qcov-table{ width:100%; border-collapse:collapse; font-size:13px; }
.qcov-table th{ text-align:left; font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:var(--text-4,#8a93a6); padding:8px 10px; border-bottom:1px solid var(--line); }
.qcov-table td{ padding:9px 10px; border-bottom:1px solid var(--line); }
.qcov-table tr:last-child td{ border-bottom:none; }
.qcov-auto{ color:#e0a53f; cursor:help; }
.qcov-empty{ font-size:13px; color:var(--text-4,#8a93a6); margin:0; }

/* break countdown timer */
.qcc-break-timer{ display:inline-block; margin-top:14px; padding:8px 18px; border-radius:22px; font-size:15px; font-weight:600; font-variant-numeric:tabular-nums; background:rgba(224,165,63,.15); color:#e0a53f; border:1px solid rgba(224,165,63,.3); }
.qcc-break-timer.over{ background:rgba(229,72,77,.15); color:#e5686d; border-color:rgba(229,72,77,.35); animation:qccPulse 1.5s ease-in-out infinite; }

/* ===== QC — Dashboard: unified header card ===== */
.qc-topcard{ display:flex; align-items:center; justify-content:space-between; gap:24px; background:linear-gradient(135deg, rgba(155,46,255,.10), rgba(74,158,255,.06)); border:1px solid var(--line); border-radius:18px; padding:24px 28px; flex-wrap:wrap; min-height:116px; box-sizing:border-box; max-width:1080px; margin-bottom:16px; }
.qc-top-l{ display:flex; flex-direction:column; gap:6px; }
.qc-top-wall{ font-size:30px; font-weight:700; font-variant-numeric:tabular-nums; color:var(--text-1,#e9edf5); line-height:1; }
.qc-top-center{ flex:1; display:flex; justify-content:center; align-items:center; min-width:0; }
.qc-top-center .qcc-break-timer{ margin:0; }
.qc-top-main{ display:flex; align-items:center; gap:28px; flex-wrap:wrap; justify-content:flex-end; }
.qc-counter-block{ text-align:right; }
.qc-top-main .qcc-counter{ font-size:44px; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:1px; color:var(--text-1,#e9edf5); line-height:1; }
.qc-top-main .qcc-counter-label{ font-size:12px; color:var(--text-4,#8a93a6); margin-top:5px; }
.qcc-ot-tag{ color:#e0a53f; }
.qc-top-main .qcc-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.qc-top-main .qcc-actions .btn-ghost, .qc-top-main .qcc-actions .btn-primary{ width:auto; padding:11px 20px; margin:0; }
.qc-top-cta{ display:flex; align-items:center; gap:20px; }
.qc-top-cta-txt{ font-size:15px; color:var(--text-3,#b6bdca); }
.qcc-big{ width:auto; padding:13px 34px; font-size:15px; }
/* break timer row (own line, spaced) */
#qcBreakRow{ display:flex; justify-content:center; }
#qcBreakRow .qcc-break-timer{ margin:16px 0 4px; }
.qc-top-main .qcc-break-timer{ margin:0; }
@media (max-width:640px){ .qc-topcard{ flex-direction:column; align-items:stretch; } .qc-counter-block{ text-align:left; } }

/* disabled input (accept-invite email) */
.field input:disabled{ opacity:.6; cursor:not-allowed; }

/* ===== Admin QC overview: vertical cards, live status, bonuses ===== */
.qcov-card{ background:var(--panel,#171b24); border:1px solid var(--line); border-radius:14px; padding:22px; margin-bottom:16px; }
.qcov-card-top{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.qcov-name{ font-size:18px; font-weight:600; }
.qcov-live{ display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:600; padding:6px 12px; border-radius:20px; }
.qcov-live-dot{ width:8px; height:8px; border-radius:50%; }
.qcov-live.on{ background:rgba(46,207,143,.15); color:#2ecf8f; } .qcov-live.on .qcov-live-dot{ background:#2ecf8f; animation:qccPulse 2s ease-in-out infinite; }
.qcov-live.brk{ background:rgba(224,165,63,.15); color:#e0a53f; } .qcov-live.brk .qcov-live-dot{ background:#e0a53f; }
.qcov-live.off{ background:rgba(138,147,166,.12); color:#8a93a6; } .qcov-live.off .qcov-live-dot{ background:#8a93a6; }
.qcov-live-time{ font-variant-numeric:tabular-nums; }
.qcov-metrics{ display:flex; gap:26px; flex-wrap:wrap; margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.qcov-metric{ display:flex; flex-direction:column; gap:2px; }
.qcm-v{ font-size:22px; font-weight:700; color:var(--text-1,#e9edf5); }
.qcm-l{ font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-4,#8a93a6); }
.qcm-v.qcov-ot{ color:#e0a53f; } .qcm-v.qcov-brk{ color:#4a9eff; } .qcm-v.qcov-bonus{ color:#2ecf8f; }
.qcov-bonus-sec{ margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
.qcov-bonus-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-4,#8a93a6); }
.qcov-bonus-head .btn-ghost{ width:auto; padding:6px 12px; margin:0; font-size:12px; }
.qcov-bonus-row{ display:flex; align-items:center; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); font-size:13px; }
.qcov-bonus-row:last-child{ border-bottom:none; }
.qcov-bonus-amt{ font-weight:700; color:#2ecf8f; min-width:64px; }
.qcov-bonus-note{ flex:1; color:var(--text-2,#c9d1de); }
.qcov-bonus-date{ color:var(--text-4,#8a93a6); font-size:12px; }
.qcov-bonus-x{ width:22px; height:22px; border-radius:50%; border:none; background:rgba(255,255,255,.06); color:var(--text-3,#b6bdca); cursor:pointer; }
.qcov-bonus-x:hover{ background:rgba(229,72,77,.2); color:#e5686d; }
.qcov-bonus-empty{ font-size:12px; color:var(--text-4,#8a93a6); margin:4px 0; }
.bonus-lbl{ display:block; font-size:12px; color:var(--text-4,#8a93a6); margin:10px 0 5px; }
.bonus-input{ width:100%; background:var(--panel-2,#12151c); border:1px solid var(--line); border-radius:8px; color:var(--text-1,#e9edf5); padding:10px 12px; font-size:14px; box-sizing:border-box; }

/* QC own bonuses card (motivating) */
.qc-bonus-card{ background:linear-gradient(135deg, rgba(46,207,143,.10), rgba(74,158,255,.05)); border:1px solid rgba(46,207,143,.25); border-radius:14px; padding:20px; }
.qc-bonus-card .qc-panel-h{ color:#2ecf8f; }
.qc-bonus-total{ font-size:28px; font-weight:700; color:#2ecf8f; margin:4px 0 12px; }
.qc-bonus-item{ display:flex; align-items:center; gap:10px; padding:7px 0; border-top:1px solid rgba(255,255,255,.06); font-size:13px; }
.qc-bonus-item .amt{ font-weight:700; color:#2ecf8f; }
.qc-bonus-item .note{ flex:1; color:var(--text-2,#c9d1de); }
.qc-bonus-item .dt{ color:var(--text-4,#8a93a6); font-size:12px; }

/* show-password toggle */
.pw-wrap{ position:relative; display:block; }
.pw-wrap input{ width:100%; padding-right:58px !important; box-sizing:border-box; }
.pw-toggle{ position:absolute; right:8px; top:50%; transform:translateY(-50%); background:none; border:none; color:var(--text-4,#8a93a6); cursor:pointer; padding:4px 6px; font-size:12px; font-weight:600; }
.pw-toggle:hover{ color:var(--text-2,#c9d1de); }

/* ===== QC profile card grid ===== */
.qc-profile-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:18px; }
.qc-profile-card{ background:var(--panel,#171b24); border:1px solid var(--line); border-radius:16px; padding:26px 22px; text-align:center; cursor:pointer; transition:transform .12s ease, border-color .12s ease; display:flex; flex-direction:column; align-items:center; gap:8px; }
.qc-profile-card:hover{ transform:translateY(-3px); border-color:var(--pink,#e0559b); }
.qc-profile-avatar{ position:relative; width:80px; height:80px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:700; color:#fff; margin-bottom:6px; }
.qc-profile-status{ position:absolute; bottom:3px; right:3px; width:18px; height:18px; border-radius:50%; border:3px solid var(--panel,#171b24); }
.qc-profile-status.on{ background:#2ecf8f; } .qc-profile-status.brk{ background:#e0a53f; } .qc-profile-status.off{ background:#8a93a6; }
.qc-profile-name{ font-size:17px; font-weight:600; }
.qc-profile-stat{ font-size:12px; color:var(--text-4,#8a93a6); display:inline-flex; align-items:center; gap:6px; }
.qc-profile-dot{ width:7px; height:7px; border-radius:50%; }
.qc-profile-dot.on{ background:#2ecf8f; } .qc-profile-dot.brk{ background:#e0a53f; } .qc-profile-dot.off{ background:#8a93a6; }
.qc-profile-stat.on{ color:#2ecf8f; } .qc-profile-stat.brk{ color:#e0a53f; }
.qc-profile-divider{ width:100%; height:1px; background:var(--line); margin:8px 0; }
.qc-profile-rows{ width:100%; display:flex; flex-direction:column; gap:7px; }
.qc-profile-row{ display:flex; justify-content:space-between; font-size:13px; color:var(--text-3,#b6bdca); }
.qc-profile-row b{ color:var(--text-1,#e9edf5); }
.qc-profile-row b.qc-profile-bonus{ color:#2ecf8f; }
.qc-profile-cta{ margin-top:10px; font-size:12px; color:var(--pink,#e0559b); font-weight:600; }
.qcov-card .back-link, #qcDetailBack{ margin-bottom:14px; }

/* schedule */
.qcov-sched-summary{ font-size:13px; color:var(--text-3,#b6bdca); }
.qcov-sched-none{ color:var(--text-4,#8a93a6); }
.qcov-sched-tz{ color:var(--text-4,#8a93a6); font-size:12px; }
.qcov-edit-sched{ width:auto !important; padding:6px 12px !important; margin:0 !important; font-size:12px; }
.sched-times{ display:flex; gap:12px; }
.sched-times label{ flex:1; }
.sched-days{ display:flex; flex-wrap:wrap; gap:10px; margin-top:4px; }
.sched-day{ display:flex; align-items:center; gap:5px; font-size:13px; color:var(--text-3,#b6bdca); }
/* QC week schedule */
.qc-sched-tzlabel{ font-size:10px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-4,#8a93a6); font-weight:400; margin-left:6px; }
.qc-week{ display:flex; flex-direction:column; gap:6px; margin-top:10px; }
.qc-week-day{ display:flex; justify-content:space-between; padding:8px 12px; border-radius:8px; background:var(--panel-2,#12151c); font-size:13px; }
.qc-week-day.today{ border:1px solid var(--pink,#e0559b); background:rgba(224,85,155,.08); }
.qc-week-day.off{ opacity:.5; }
.qc-week-d{ font-weight:600; }
.qc-week-t{ color:var(--text-3,#b6bdca); font-variant-numeric:tabular-nums; }

/* ============================================================
   QC — Dashboard (clean rebuild, qcd- prefix — no class collisions)
   ============================================================ */
.qcd-shiftstrip{ max-width:1080px; background:var(--panel,#171b24); border:1px solid var(--line); border-radius:14px; padding:14px 18px; margin-bottom:16px; }
.qcd-shift-label{ font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--text-4,#8a93a6); margin-bottom:10px; font-weight:600; }
.qcd-shift-tz{ color:var(--text-4,#8a93a6); font-weight:400; text-transform:none; letter-spacing:0; margin-left:6px; }
.qcd-shift-cells{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.qcd-shift-cell{ display:flex; flex-direction:column; gap:3px; padding:12px 14px; border-radius:10px; background:var(--panel-2,#12151c); border:1px solid var(--line); position:relative; }
.qcd-shift-cell.now{ border-color:#2ecf8f; background:rgba(46,207,143,.08); }
.qcd-shift-name{ font-size:14px; font-weight:600; }
.qcd-shift-hours{ font-size:13px; color:var(--text-3,#b6bdca); font-variant-numeric:tabular-nums; }
.qcd-shift-badge{ position:absolute; top:12px; right:12px; font-size:10px; text-transform:uppercase; letter-spacing:.04em; color:#2ecf8f; background:rgba(46,207,143,.14); padding:3px 8px; border-radius:10px; font-weight:600; }

.qcd-grid{ display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:16px; max-width:1080px; align-items:start; }
@media (max-width:820px){ .qcd-grid{ grid-template-columns:1fr; } }
.qcd-side{ display:flex; flex-direction:column; gap:16px; }
.qcd-card{ background:var(--panel,#171b24); border:1px solid var(--line); border-radius:14px; padding:18px; }
.qcd-h{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.qcd-h-title{ display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; }
.qcd-h-title svg{ width:16px; height:16px; opacity:.7; }
.qcd-empty{ font-size:13px; color:var(--text-4,#8a93a6); margin:0; }

/* chatters to check */
.qcd-co-item{ padding:14px 16px; border-radius:11px; background:var(--panel-2,#12151c); border:1px solid var(--line); margin-bottom:10px; }
.qcd-co-item:last-child{ margin-bottom:0; }
.qcd-co-pos{ font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--pink,#e0559b); font-weight:700; margin-bottom:5px; }
.qcd-co-shift{ font-size:15px; font-weight:600; margin-bottom:9px; }
.qcd-co-day{ font-size:12px; color:var(--text-4,#8a93a6); font-weight:400; text-transform:capitalize; }
.qcd-co-chatters{ display:flex; flex-wrap:wrap; gap:7px; }
.qcd-co-name{ background:rgba(155,46,255,.12); color:#c9a6ff; border:1px solid rgba(155,46,255,.2); border-radius:16px; padding:4px 13px; font-size:13px; font-weight:500; }

/* this-week calendar */
.qcd-sched-nav{ display:inline-flex; gap:4px; }
.qcd-sched-nav button{ width:24px; height:24px; border:1px solid var(--line); background:var(--panel-2,#12151c); color:var(--text-2,#c9d1de); border-radius:6px; cursor:pointer; font-size:14px; line-height:1; }
.qcd-sched-nav button:disabled{ opacity:.35; cursor:default; }
.qcd-week-cal{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.qcd-cal-cell{ display:flex; flex-direction:column; align-items:center; gap:1px; padding:8px 1px; border-radius:8px; background:var(--panel-2,#12151c); border:1px solid transparent; min-width:0; }
.qcd-cal-cell.today{ border-color:var(--pink,#e0559b); background:rgba(224,85,155,.10); }
.qcd-cal-cell.off{ opacity:.4; }
.qcd-cal-dow{ font-size:9px; text-transform:uppercase; color:var(--text-4,#8a93a6); font-weight:600; }
.qcd-cal-date{ font-size:15px; font-weight:700; color:var(--text-1,#e9edf5); }
.qcd-cal-time{ font-size:9px; color:var(--text-3,#b6bdca); text-align:center; line-height:1.3; font-variant-numeric:tabular-nums; margin-top:1px; }

/* your hours */
.qcd-hours-tabs{ display:inline-flex; gap:4px; }
.qcd-tab{ background:var(--panel-2,#12151c); border:1px solid var(--line); border-radius:7px; color:var(--text-3,#b6bdca); padding:5px 11px; font-size:12px; cursor:pointer; }
.qcd-tab.active{ background:var(--pink,#e0559b); color:#fff; border-color:var(--pink,#e0559b); }
.qcd-hours-metrics{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.qcd-hmetric{ text-align:center; background:var(--panel-2,#12151c); border:1px solid var(--line); border-radius:10px; padding:12px 4px; min-width:0; overflow:hidden; }
.qcd-hv{ font-size:18px; font-weight:700; color:var(--text-1,#e9edf5); white-space:nowrap; }
.qcd-hv.qcd-bonus{ color:#2ecf8f; }
.qcd-hl{ font-size:10px; text-transform:uppercase; letter-spacing:.02em; color:var(--text-4,#8a93a6); margin-top:3px; }

/* bonus bubble */
.qc-bonus-bubble{ position:fixed; bottom:24px; right:24px; z-index:200; width:260px; background:linear-gradient(135deg, #2ecf8f, #1fa871); border-radius:16px; padding:18px 20px; box-shadow:0 12px 32px -8px rgba(46,207,143,.5); color:#fff; animation:bubbleIn .4s cubic-bezier(.2,.8,.2,1); }
@keyframes bubbleIn{ from{ transform:translateY(20px) scale(.9); opacity:0; } to{ transform:none; opacity:1; } }
.qc-bubble-x{ position:absolute; top:10px; right:12px; background:rgba(255,255,255,.2); border:none; color:#fff; width:22px; height:22px; border-radius:50%; cursor:pointer; font-size:14px; }
.qc-bubble-top{ display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.qc-bubble-star{ font-size:24px; }
.qc-bubble-label{ font-size:11px; text-transform:uppercase; letter-spacing:.05em; opacity:.85; }
.qc-bubble-amt{ font-size:22px; font-weight:800; line-height:1.1; }
.qc-bubble-note{ font-size:13px; opacity:.92; line-height:1.4; }

/* avatar images */
.qc-profile-avatar img{ width:100%; height:100%; border-radius:50%; object-fit:cover; }
.qcov-detail-head{ display:flex; align-items:center; gap:16px; margin-bottom:18px; }
.qcov-detail-avatar{ width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:24px; font-weight:700; color:#fff; overflow:hidden; }
.qcov-detail-avatar img{ width:100%; height:100%; object-fit:cover; }
.qcov-detail-name{ font-size:20px; font-weight:700; margin-bottom:4px; }
.qcov-photo-btn, .qcov-photo-rm{ background:var(--panel-2,#12151c); border:1px solid var(--line); color:var(--text-3,#b6bdca); border-radius:7px; padding:5px 12px; font-size:12px; cursor:pointer; margin-right:6px; }
.qcov-photo-btn:hover{ color:var(--text-1,#e9edf5); }
.qcov-photo-rm{ color:#e5686d; }

/* hours pay-period filter */
.qcd-hours-periods{ display:flex; gap:5px; margin-bottom:12px; }
.qcd-hours-periods .qcd-tab{ flex:1; }
.qcd-hours-custom{ display:flex; align-items:center; gap:6px; margin-bottom:12px; font-size:12px; color:var(--text-4,#8a93a6); }
.qcd-hours-custom input{ flex:1; min-width:0; background:var(--panel-2,#12151c); border:1px solid var(--line); border-radius:7px; color:var(--text-1,#e9edf5); padding:6px 8px; font-size:12px; }
.qcd-hours-range{ font-size:11px; color:var(--text-4,#8a93a6); margin-bottom:8px; text-align:center; font-variant-numeric:tabular-nums; }

/* pre-loaded conversation tabs get a subtle "ready" dot */
.mv-tab{ position:relative; }
.mv-tab-ready::after{ content:''; position:absolute; top:6px; right:6px; width:5px; height:5px; border-radius:50%; background:#2ecf8f; opacity:.7; }
.mv-tab.active.mv-tab-ready::after{ display:none; }

/* ===== Chatters-to-check builder (clean) ===== */
.co-entry{ background:var(--panel-2,#12151c); border:1px solid var(--line); border-radius:12px; padding:16px; margin-bottom:14px; }
.co-entry-head{ display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.co-num{ width:26px; height:26px; border-radius:50%; background:var(--pink,#e0559b); color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; flex:none; }
.co-selects{ display:flex; gap:12px; flex:1; flex-wrap:wrap; }
.co-sel{ display:flex; flex-direction:column; gap:4px; }
.co-sel span{ font-size:10px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-4,#8a93a6); }
.co-sel select{ background:var(--panel,#171b24); border:1px solid var(--line); border-radius:8px; color:var(--text-1,#e9edf5); padding:8px 10px; font-size:13px; }
.co-move{ display:flex; gap:5px; }
.co-move button{ width:28px; height:28px; border:1px solid var(--line); background:var(--panel,#171b24); color:var(--text-3,#b6bdca); border-radius:7px; cursor:pointer; font-size:14px; }
.co-move button:hover:not(:disabled){ color:var(--text-1,#e9edf5); border-color:var(--text-4,#8a93a6); }
.co-move button:disabled{ opacity:.3; cursor:default; }
.co-del{ color:#e5686d !important; }
.co-chatter-label{ font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-4,#8a93a6); margin-bottom:8px; display:flex; align-items:center; gap:8px; }
.co-count{ color:var(--pink,#e0559b); font-weight:600; text-transform:none; letter-spacing:0; }
.co-chatters{ display:flex; flex-wrap:wrap; gap:8px; }
.co-chip{ display:inline-flex; align-items:center; gap:6px; background:var(--panel,#171b24); border:1px solid var(--line); border-radius:18px; padding:7px 14px; font-size:13px; cursor:pointer; color:var(--text-3,#b6bdca); user-select:none; transition:all .12s ease; }
.co-chip:hover{ border-color:var(--text-4,#8a93a6); }
.co-chip.sel{ background:rgba(224,85,155,.15); border-color:var(--pink,#e0559b); color:#fff; }
.co-plat{ font-size:9px; opacity:.6; background:rgba(255,255,255,.08); padding:2px 5px; border-radius:5px; }
.co-add{ width:100%; border-style:dashed; margin-bottom:4px; }
.co-empty{ font-size:13px; color:var(--text-4,#8a93a6); text-align:center; padding:20px; }

/* admin overview pay-period filter */
.qcov-bar{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.qcov-periods{ display:flex; gap:6px; }
.qcov-filter{ display:flex; align-items:center; gap:12px; }
.qcov-filter label{ font-size:12px; color:var(--text-3,#b6bdca); display:flex; align-items:center; gap:6px; }
.qcov-filter input{ background:var(--panel-2,#12151c); border:1px solid var(--line); border-radius:7px; color:var(--text-1,#e9edf5); padding:6px 8px; font-size:13px; }

/* screenshot lightbox (click to enlarge) */
.qc-shot-img{ cursor:zoom-in; }
.qc-lightbox{ position:fixed; inset:0; background:rgba(0,0,0,.85); z-index:3000; display:flex; align-items:center; justify-content:center; padding:40px; animation:lbIn .15s ease; }
@keyframes lbIn{ from{ opacity:0; } to{ opacity:1; } }
.qc-lightbox img{ max-width:95%; max-height:95%; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,.6); object-fit:contain; }
.qc-lightbox-x{ position:absolute; top:20px; right:24px; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.12); border:none; color:#fff; font-size:24px; cursor:pointer; line-height:1; }
.qc-lightbox-x:hover{ background:rgba(255,255,255,.25); }
