/* ── Feedback modal overlay ──────────────────────────────────────────────── */

#pc-feedback-modal {
    position:        fixed;
    inset:           0;
    z-index:         1000;
    background:      rgba(0, 0, 0, 0.5); /* no CSS variable for scrim — hardcoded as permitted */
    display:         flex;
    align-items:     center;
    justify-content: center;
    padding:         16px;
}

.pc-feedback-dialog {
    background:     var(--surface);
    border:         1px solid var(--border);
    border-radius:  var(--radius);
    padding:        28px 24px 24px;
    width:          100%;
    max-width:      480px;
    display:        flex;
    flex-direction: column;
    gap:            16px;
}

.pc-feedback-title {
    margin:      0;
    font-size:   1.1rem;
    font-weight: 700;
    color:       var(--text);
    line-height: 1.3;
}

.pc-feedback-textarea {
    width:         100%;
    min-height:    120px;
    padding:       10px 12px;
    font-family:   var(--font);
    font-size:     0.95rem;
    color:         var(--text);
    background:    var(--bg);
    border:        1px solid var(--border-dark);
    border-radius: var(--radius-sm);
    resize:        vertical;
    box-sizing:    border-box;
    line-height:   1.5;
}

.pc-feedback-textarea:focus {
    outline:        2px solid var(--primary);
    outline-offset: 2px;
    border-color:   var(--primary);
}

.pc-feedback-msg {
    font-size:   0.9rem;
    font-weight: 500;
    color:       var(--text-secondary);
    line-height: 1.4;
}

.pc-feedback-confirm {
    font-weight: 600;
    color:       var(--text);
}

.pc-feedback-actions {
    display:     flex;
    gap:         12px;
    align-items: center;
}

.pc-feedback-submit {
    padding:       10px 20px;
    background:    var(--primary);
    color:         var(--text-inverse);
    border:        none;
    border-radius: var(--radius-sm);
    font-family:   var(--font);
    font-size:     0.95rem;
    font-weight:   600;
    cursor:        pointer;
    flex-shrink:   0;
}

.pc-feedback-submit:hover:not(:disabled) {
    background: var(--primary-dark);
}

.pc-feedback-submit:disabled {
    opacity: 0.6;
    cursor:  not-allowed;
}

.pc-feedback-cancel {
    padding:       10px 16px;
    background:    transparent;
    color:         var(--text-secondary);
    border:        1px solid var(--border-dark);
    border-radius: var(--radius-sm);
    font-family:   var(--font);
    font-size:     0.95rem;
    font-weight:   500;
    cursor:        pointer;
    flex-shrink:   0;
}

.pc-feedback-cancel:hover {
    background: var(--border);
}

/* ── Feedback trigger buttons ────────────────────────────────────────────── */

#ch-feedback-btn,
#hub-feedback-btn {
    flex-shrink:   0;
    width:         40px;
    height:        40px;
    border-radius: 50%;
    background:    var(--primary);
    color:         var(--text-inverse);
    border:        none;
    font-size:     1.1rem;
    cursor:        pointer;
    display:       grid;
    place-items:   center;
    line-height:   1;
    transition:    filter 0.15s;
}

#ch-feedback-btn:hover,
#hub-feedback-btn:hover {
    filter: brightness(1.1);
}
