.pc-card {
    border: 1px solid rgba(51, 65, 85, .95);
    background: rgba(15, 23, 42, .72);
    border-radius: 1rem;
    padding: 1rem;
}
.pc-card-soft {
    border: 1px solid rgba(51, 65, 85, .75);
    background: rgba(30, 41, 59, .35);
    border-radius: 1rem;
}
.pc-stat-value {
    font-size: 1.75rem;
    line-height: 2rem;
    font-weight: 800;
}
.pc-label {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #94a3b8;
}
.pc-input {
    width: 100%;
    border-radius: .9rem;
    border: 1px solid rgba(51, 65, 85, .95);
    background: #020617;
    color: #e2e8f0;
    padding: .72rem .9rem;
    font-size: .875rem;
}
.pc-btn-primary {
    border-radius: .9rem;
    background: #4f46e5;
    color: white;
    padding: .72rem 1rem;
    font-size: .875rem;
    font-weight: 700;
    transition: .15s ease;
}
.pc-btn-primary:hover { background: #6366f1; }
.pc-btn-secondary {
    border-radius: .9rem;
    border: 1px solid rgba(71, 85, 105, .95);
    color: #cbd5e1;
    padding: .65rem .9rem;
    font-size: .8rem;
    transition: .15s ease;
}
.pc-btn-secondary:hover { background: rgba(30, 41, 59, .8); }
.pc-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgba(71, 85, 105, .8);
    padding: .22rem .55rem;
    font-size: .7rem;
    font-weight: 700;
}
.pc-badge-ok { color: #86efac; background: rgba(34, 197, 94, .08); border-color: rgba(34, 197, 94, .35); }
.pc-badge-warn { color: #fde68a; background: rgba(245, 158, 11, .08); border-color: rgba(245, 158, 11, .35); }
.pc-badge-danger { color: #fca5a5; background: rgba(239, 68, 68, .08); border-color: rgba(239, 68, 68, .35); }
.pc-badge-info { color: #93c5fd; background: rgba(59, 130, 246, .08); border-color: rgba(59, 130, 246, .35); }
.pc-table-wrap { overflow-x: auto; }
.pc-table { width: 100%; border-collapse: collapse; font-size: .82rem; color: #94a3b8; }
.pc-table th { text-align: left; padding: .75rem; background: rgba(15,23,42,.95); color: #cbd5e1; font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; }
.pc-table td { padding: .75rem; border-top: 1px solid rgba(51,65,85,.55); vertical-align: top; }
.pc-empty { padding: 1.25rem; color: #64748b; text-align: center; }
