/* ========== Helvetica Now Font ========== */
@font-face {
    font-family: 'Helvetica Now';
    src: url('https://fonts.cdnfonts.com/s/91736/HelveticaNowText-Regular.woff') format('woff');
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'Helvetica Now';
    src: url('https://fonts.cdnfonts.com/s/91736/HelveticaNowText-Medium.woff') format('woff');
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: 'Helvetica Now';
    src: url('https://fonts.cdnfonts.com/s/91736/HelveticaNowText-Bold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}

.pc-wrapper, .pc-wrapper * {
    font-family: 'Helvetica Now', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}

.pc-wrapper { color:#0f172a; max-width:1200px; margin:0 auto; padding:20px; }

/* Top Bar */
.pc-top-bar { display:grid; grid-template-columns:2fr 1fr 1fr; gap:12px; margin-bottom:16px; }
.pc-search { position:relative; }
.pc-search svg { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#94a3b8; }
.pc-search input { width:100%; padding:12px 14px 12px 40px; border:1px solid #e2e8f0; border-radius:10px; font-size:14px; background:#fff; box-sizing:border-box; }
.pc-search input:focus { outline:none; border-color:#0f172a; }
.pc-select-wrap { position:relative; }
.pc-select-wrap svg { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#94a3b8; pointer-events:none; }
.pc-select-wrap select { width:100%; padding:12px 14px 12px 38px; border:1px solid #e2e8f0; border-radius:10px; font-size:14px; background:#fff; appearance:none; cursor:pointer; }
.pc-select-wrap select:focus { outline:none; border-color:#0f172a; }

/* Alphabet Bar */
.pc-alphabet-bar { display:flex; justify-content:space-between; align-items:center; background:#fff; padding:10px 14px; border:1px solid #e2e8f0; border-radius:10px; margin-bottom:20px; flex-wrap:wrap; gap:10px; }
.pc-alphabet { display:flex; flex-wrap:wrap; gap:4px; }
.pc-letter { background:transparent; border:none; padding:6px 10px; font-size:13px; font-weight:500; color:#475569; cursor:pointer; border-radius:6px; min-width:28px; }
.pc-letter:hover:not(.disabled) { background:#f1f5f9; }
.pc-letter.active { background:#0f172a; color:#fff; }
.pc-letter.disabled { color:#cbd5e1; cursor:not-allowed; }
.pc-total { font-size:13px; color:#64748b; }
.pc-total strong { color:#0f172a; font-weight:700; }

/* Letter Heading */
.pc-letter-heading { font-size:22px; font-weight:700; margin:20px 0 10px; color:#0f172a; }

/* Card */
.pc-peptide-card { background:#fff; border:1px solid #e2e8f0; border-radius:12px; margin-bottom:10px; overflow:hidden; transition:box-shadow .2s; }
.pc-peptide-card.open { box-shadow:0 4px 14px rgba(0,0,0,0.06); }
.pc-card-header { display:flex; justify-content:space-between; align-items:center; padding:16px 20px; cursor:pointer; }
.pc-card-left { display:flex; align-items:center; gap:12px; }
.pc-icon { width:36px; height:36px; background:#f1f5f9; border-radius:8px; display:flex; align-items:center; justify-content:center; }
.pc-card-title h3 { margin:0; font-size:15px; font-weight:600; color:#0f172a; }
.pc-card-title p { margin:2px 0 0; font-size:12px; color:#64748b; }
.pc-card-right { display:flex; align-items:center; gap:10px; }
.pc-batch-count { background:#f1f5f9; color:#475569; padding:4px 10px; border-radius:20px; font-size:12px; font-weight:500; }
.pc-toggle { background:transparent; border:none; cursor:pointer; color:#64748b; padding:4px; transition:transform .2s; }
.pc-peptide-card.open .pc-toggle { transform:rotate(180deg); }

/* Body / Table */
.pc-card-body { display:none; padding:0 20px 20px; border-top:1px solid #f1f5f9; }
.pc-peptide-card.open .pc-card-body { display:block; }
.pc-batch-table { width:100%; border-collapse:collapse; margin-top:8px; }
.pc-batch-table th { text-align:left; font-size:11px; font-weight:600; color:#94a3b8; padding:12px 8px; letter-spacing:0.5px; }
.pc-batch-table td { padding:14px 8px; font-size:13px; color:#334155; border-top:1px solid #f1f5f9; vertical-align:middle; }
.pc-dot { display:inline-block; width:6px; height:6px; background:#3b82f6; border-radius:50%; margin-right:8px; vertical-align:middle; }
.pc-purity { display:inline-flex; align-items:center; gap:6px; background:#dcfce7; color:#15803d; padding:4px 10px; border-radius:20px; font-size:12px; font-weight:500; }
.pc-purity-dot { width:6px; height:6px; background:#22c55e; border-radius:50%; }

/* COA Preview */
.pc-coa-preview { display:inline-block; cursor:pointer; }
.pc-coa-preview img { width:60px; height:60px; object-fit:cover; border:1px solid #e2e8f0; border-radius:6px; padding:2px; background:#fff; transition:transform .2s, box-shadow .2s; }
.pc-coa-preview:hover img { transform:scale(1.08); box-shadow:0 4px 12px rgba(0,0,0,0.15); }
.pc-no-preview { color:#cbd5e1; font-size:16px; }

/* View COA Button */
.pc-view-coa { display:inline-flex; align-items:center; gap:6px; background:#0f172a; color:#fff !important; padding:8px 14px; border-radius:8px; font-size:12px; text-decoration:none !important; font-weight:500; }
.pc-view-coa:hover { background:#1e293b; color:#fff !important; }
.pc-badge-pending { display:inline-flex; align-items:center; gap:6px; background:#fef3c7; color:#a16207; padding:6px 12px; border-radius:8px; font-size:12px; font-weight:500; }

/* Lightbox */
.pc-lightbox { display:none; position:fixed; z-index:99999; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.9); align-items:center; justify-content:center; padding:20px; box-sizing:border-box; }
.pc-lightbox.active { display:flex; }
.pc-lightbox-img { max-width:90%; max-height:90vh; border-radius:8px; box-shadow:0 10px 40px rgba(0,0,0,0.5); }
.pc-lightbox-close { position:absolute; top:20px; right:30px; color:#fff; font-size:40px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1; }
.pc-lightbox-close:hover { color:#ff6b6b; }

/* Hidden */
.pc-hidden { display:none !important; }

/* Responsive */
@media (max-width:768px) {
    .pc-top-bar { grid-template-columns:1fr; }
    .pc-batch-table thead { display:none; }
    .pc-batch-table tr { display:block; margin-bottom:10px; border:1px solid #f1f5f9; padding:10px; border-radius:8px; }
    .pc-batch-table td { display:flex; justify-content:space-between; align-items:center; border:none; padding:6px 0; }
    .pc-batch-table td::before { content:attr(data-label); font-weight:600; color:#94a3b8; font-size:11px; text-transform:uppercase; }
}
/* COA Preview - SIRF IMAGE, koi click nahi */
.pc-coa-preview { display:inline-block; }
.pc-coa-preview img { 
    width:70px; 
    height:70px; 
    object-fit:cover; 
    border:1px solid #e2e8f0; 
    border-radius:6px; 
    padding:2px; 
    background:#fff; 
}
.pc-no-preview { color:#cbd5e1; font-size:16px; }