/* ═══ STUDIOHAUS PORTAL — Capture check panel (capture.js) ═══
   Monochrome; the state reads from the words, with a muted status tone only. */

.cc { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.cc-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cc-state { font-size: 11px; font-weight: var(--fw-semi); letter-spacing: 1px; text-transform: uppercase; padding: 3px 9px; border-radius: 100px; border: 1px solid var(--border-hover, rgba(255,255,255,0.12)); color: var(--text); white-space: nowrap; }
.cc-state--ok { color: var(--status-positive); border-color: rgba(var(--status-positive-rgb), 0.35); }
.cc-state--check { color: var(--status-warning); border-color: rgba(var(--status-warning-rgb), 0.35); }
.cc-state--missing { color: var(--status-negative); border-color: rgba(var(--status-negative-rgb), 0.35); }
.cc-state--pending, .cc-state--error { color: var(--text-60); }
.cc-meta { font-size: 12px; color: var(--text-45); min-width: 0; }
.cc-link { margin-left: auto; background: none; border: none; padding: 0; font-family: var(--font); font-size: 12px; color: var(--text-60); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.cc-link:hover { color: var(--text); }
.cc-text { margin: 0; font-size: var(--fs-sm); color: var(--text-60); line-height: 1.45; }

.cc-rules { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.cc-rule { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--border); }
.cc-rule:last-child { border-bottom: none; }
.cc-mark { width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: var(--fw-semi); line-height: 1; margin-top: 1px; color: var(--text-45); border: 1px solid var(--border); }
.cc-rule--fail .cc-mark { background: var(--text); color: var(--bg); border-color: var(--text); }
.cc-rule--note .cc-mark { color: var(--text); border-color: var(--text-40); font-style: normal; }
.cc-rule--skip .cc-mark { border-style: dashed; }
.cc-rule-body { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.cc-rule-title { font-size: var(--fs-sm); color: var(--text); }
.cc-rule--ok .cc-rule-title, .cc-rule--skip .cc-rule-title { color: var(--text-60); }
.cc-rule-count { font-size: 11px; color: var(--text-45); margin-left: 4px; }
.cc-rule-text { font-size: 12px; color: var(--text-60); line-height: 1.45; overflow-wrap: anywhere; }
.cc-rule--ok .cc-rule-text, .cc-rule--skip .cc-rule-text { color: var(--text-45); }
.cc-ex { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.cc-ex span { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; color: var(--text-60); background: var(--bg-card-hover); border: 1px solid var(--border); border-radius: 6px; padding: 1px 6px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cc-ex .cc-ex-more { font-family: var(--font); background: none; border: none; color: var(--text-45); padding: 1px 2px; }

/* On the shoot page, under each shoot day's delivery block */
.pd-cc { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); }
.pd-cc-label { font-size: 11px; font-weight: var(--fw-semi); letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-45); margin-bottom: 8px; }

/* Card backup (backup.js): the same panel, plus the Mac app's progress */
.rb-live { display: flex; flex-direction: column; gap: 8px; }
.rb-line { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: var(--fs-sm); color: var(--text); }
.rb-line .cc-link { margin-left: 0; }
.rb-line > span:first-child { min-width: 0; }
.rb-drive { font-size: 12px; color: var(--text-45); }
.rb-bar { height: 4px; border-radius: 4px; background: var(--border); overflow: hidden; }
.rb-bar span { display: block; height: 100%; background: var(--text); transition: width 0.4s ease; }
.rb-sub { font-size: 12px; color: var(--text-45); line-height: 1.45; }
.rb-done { font-size: var(--fs-sm); color: var(--status-positive); line-height: 1.45; }
.rb-error { font-size: var(--fs-sm); color: var(--status-negative); line-height: 1.45; }
