/* coa-library.html — page-specific styles */

.calc-input {
    width: 100%; padding: 12px 14px; border: 1.5px solid rgba(191,200,200,0.4); border-radius: 12px;
    font-size: 15px; font-weight: 700; color: #003532; background: #fff; text-align: right;
    transition: border-color 0.2s, box-shadow 0.2s; font-family: 'Plus Jakarta Sans', sans-serif; outline: none;
  }
  .calc-input:focus { border-color: #003532; box-shadow: 0 0 0 3px rgba(0,53,50,0.08); }
  .calc-input::-webkit-inner-spin-button { opacity: 0; }
  .calc-range { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 3px; background: linear-gradient(to right, #003532 var(--pct,50%), #e6e8ea var(--pct,50%)); outline: none; cursor: pointer; }
  .calc-range::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%; background: #003532; cursor: pointer; border: 4px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.15); transition: transform 0.15s; }
  .calc-range::-webkit-slider-thumb:hover { transform: scale(1.15); }
  .calc-range::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #003532; cursor: pointer; border: 4px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.15); }
  @keyframes resultPop { 0% { transform: scale(1); } 50% { transform: scale(1.06); } 100% { transform: scale(1); } }
  .result-pop { animation: resultPop 0.3s cubic-bezier(0.16,1,.3,1); }
  .conv-input { width: 100%; padding: 10px 14px; border: 1.5px solid rgba(191,200,200,0.3); border-radius: 10px; font-size: 14px; font-weight: 600; color: #003532; background: #fff; outline: none; transition: border-color 0.2s; font-family: 'Plus Jakarta Sans', sans-serif; }
  .conv-input:focus { border-color: #003532; }
  .preset-chip { padding: 8px 16px; border-radius: 10px; font-size: 12px; font-weight: 700; color: #003532; background: #fff; border: 1.5px solid rgba(191,200,200,0.3); cursor: pointer; transition: all 0.2s; white-space: nowrap; font-family: 'Plus Jakarta Sans', sans-serif; }
  .preset-chip:hover { border-color: #003532; background: rgba(0,53,50,0.03); }
  .preset-chip.active { border-color: #003532; background: #003532; color: #fff; }
  .ref-table { width: 100%; border-collapse: separate; border-spacing: 0; }
  .ref-table th { font-size: 10px; font-weight: 700; color: #515f74; text-transform: uppercase; letter-spacing: 0.06em; padding: 12px 16px; text-align: left; border-bottom: 2px solid rgba(191,200,200,0.15); font-family: 'Plus Jakarta Sans', sans-serif; }
  .ref-table td { font-size: 13px; color: #003532; font-weight: 500; padding: 14px 16px; border-bottom: 1px solid rgba(191,200,200,0.1); }
  .ref-table tr:last-child td { border-bottom: none; }
  .ref-table tbody tr { cursor: pointer; transition: background 0.15s; }
  .ref-table tbody tr:hover { background: rgba(0,53,50,0.02); }
  .ref-table .purity { color: #00c389; font-weight: 700; }
  .ref-table .load-btn { font-size: 11px; font-weight: 700; color: #003532; display: inline-flex; align-items: center; gap: 4px; opacity: 0; transition: opacity 0.2s; }
  .ref-table tbody tr:hover .load-btn { opacity: 1; }
.coa-search{width:100%;background:#fff;border:2px solid rgba(191,200,200,.2);border-radius:16px;padding:16px 20px 16px 52px;font-size:15px;font-weight:600;color:#003532;transition:border-color .2s,box-shadow .2s;outline:none;font-family:'Plus Jakarta Sans',sans-serif}
.coa-search:focus{border-color:#003532;box-shadow:0 0 0 4px rgba(0,53,50,.06)}
.coa-search::placeholder{color:#bfc8c8;font-weight:400}
.fp{padding:6px 14px;border-radius:9px;font-size:12px;font-weight:600;color:#404848;background:transparent;border:1.5px solid rgba(191,200,200,.25);cursor:pointer;transition:all .15s;white-space:nowrap;font-family:'Plus Jakarta Sans',sans-serif}
.fp:hover{border-color:#003532;color:#003532}
.fp.on{border-color:#003532;background:#003532;color:#fff}
.fp .ct{font-size:10px;font-weight:700;opacity:.5;margin-left:3px}
.fp.on .ct{opacity:.8}
.sort-sel{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23404848'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat right 12px center;border:1.5px solid rgba(191,200,200,.25);border-radius:10px;padding:8px 32px 8px 14px;font-size:12px;font-weight:600;color:#003532;cursor:pointer;outline:none;font-family:'Plus Jakarta Sans',sans-serif}
.sort-sel:focus{border-color:#003532}
.coa-row{display:grid;grid-template-columns:1fr auto auto auto auto;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid rgba(191,200,200,.08);transition:background .12s;cursor:pointer}
.coa-row:hover{background:rgba(0,53,50,.015)}
.coa-row:last-child{border-bottom:none}
@media(max-width:768px){.coa-row{grid-template-columns:1fr auto auto;gap:8px;padding:14px 16px}
.coa-row .hide-mob{display:none}}
.purity-badge{display:inline-flex;align-items:center;gap:3px;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:800;font-family:'Plus Jakarta Sans',sans-serif}
.purity-badge.high{background:rgba(0,195,137,.08);color:#00a574}
.purity-badge.mid{background:rgba(0,195,137,.05);color:#124d49}
.batch-tag{font-family:'SF Mono','Fira Code',monospace;font-size:11px;font-weight:700;color:#003532;background:#f2f4f6;padding:3px 8px;border-radius:6px;letter-spacing:.03em}
.test-dots{display:flex;gap:4px}
.test-dot{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;font-family:'Plus Jakarta Sans',sans-serif}
.test-dot.hplc{background:rgba(0,53,50,.06);color:#003532}
.test-dot.ms{background:rgba(59,130,246,.06);color:#3b82f6}
.test-dot.endo{background:rgba(0,195,137,.06);color:#00c389}
.pg-btn{min-width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;border:1.5px solid rgba(191,200,200,.25);color:#515f74;cursor:pointer;transition:all .15s;background:#fff;font-family:'Plus Jakarta Sans',sans-serif}
.pg-btn:hover:not(.pg-active):not(:disabled){border-color:#003532;color:#003532}
.pg-btn.pg-active{border-color:#003532;background:#003532;color:#fff}
.pg-btn:disabled{opacity:.3;cursor:not-allowed}
.stat-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;font-size:11px;font-weight:700;font-family:'Plus Jakarta Sans',sans-serif}
@media(max-width:768px){.hide-mob{display:none}}
@media(max-width:768px){.hide-mob{display:none}}
