/* COS Marketing Workbench - light layer over Bootstrap 5 */
:root {
    --cw-sidebar: #1c2430;
    --cw-accent: #0d6efd;
}
body { background: #f5f7fa; }
.navbar-brand { font-weight: 600; letter-spacing: .2px; }
.cw-score { font-size: 2.6rem; font-weight: 700; line-height: 1; }
.cw-score-ring {
    width: 96px; height: 96px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: conic-gradient(var(--ring, #198754) calc(var(--pct, 0) * 1%), #e9ecef 0);
}
.cw-score-ring > div {
    width: 78px; height: 78px; border-radius: 50%; background: #fff;
    display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.5rem;
}
.cw-budget .progress { height: 10px; }
.cw-task-row td { vertical-align: middle; }
.cw-task-row.status-done .cw-title { text-decoration: line-through; color: #6c757d; }
.cw-title { font-weight: 500; }
.cw-desc { color: #5c636a; font-size: .875rem; }
.cw-desc p:last-child { margin-bottom: 0; }
.cw-inline-select { min-width: 8rem; }
.cw-dropzone {
    border: 2px dashed #ced4da; border-radius: .5rem; padding: 1.5rem; text-align: center;
    background: #fff; transition: border-color .15s, background .15s; cursor: pointer;
}
.cw-dropzone.dragover { border-color: var(--cw-accent); background: #eef4ff; }
.cw-finding { border-left: 4px solid #dee2e6; }
.cw-finding.sev-critical { border-left-color: #b02a37; }
.cw-finding.sev-high { border-left-color: #dc3545; }
.cw-finding.sev-medium { border-left-color: #ffc107; }
.cw-finding.sev-low { border-left-color: #6c757d; }
.cw-evidence { font-size: .8125rem; color: #6c757d; word-break: break-all; }
.cw-stat .value { font-size: 1.6rem; font-weight: 600; }
.cw-stat .label { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: #6c757d; }
.table-sm td, .table-sm th { padding: .35rem .5rem; }
.cw-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8rem; }
.cw-file-tree { max-height: 24rem; overflow: auto; }
.cw-truncate { max-width: 28rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; vertical-align: bottom; }
@media (max-width: 767px) { .cw-truncate { max-width: 12rem; } }

/* Prompt text blocks */
.cw-prompt { white-space: pre-wrap; word-break: break-word; font-size: .8125rem; }
