/* Phase 3 styles (prefix classes with p3-) */
.p3-featured{border:2px solid var(--orange);box-shadow:0 2px 0 var(--orange-line)}
.p3-date{width:52px;flex-shrink:0;border-radius:12px;background:var(--lake-tint);color:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 0;line-height:1}
.p3-date-m{font-size:11px;font-weight:700;letter-spacing:.6px;color:var(--lake)}
.p3-date-d{font-family:var(--display);font-size:24px;font-weight:700;margin-top:2px}
.p3-busy{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:12px;font-weight:700;color:#6B3410;background:#FFF1E6;border:1px solid var(--orange-line);border-radius:8px;padding:4px 8px}
.p3-v{font-weight:700;font-size:15px;line-height:1.3;word-break:break-word}
.p3-ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.p3-bad{color:#7A1B14;background:#FDECEA;border-radius:10px;padding:8px 10px 8px 26px}
.p3-table{width:100%;border-collapse:collapse;font-size:13px}
.p3-table th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:4px 4px 6px;border-bottom:1px solid var(--line)}
.p3-table td{padding:7px 4px;border-bottom:1px solid var(--line);vertical-align:top}
.p3-table td:nth-child(3),.p3-table td:nth-child(4),.p3-table th:nth-child(3),.p3-table th:nth-child(4){text-align:right;white-space:nowrap}
.p3-table tr:last-child td{border-bottom:none}
.p3-num{font-size:34px}
.p3-email{background:#FBFCFC}
.p3-pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--font);font-size:13px;line-height:1.5;color:var(--ink-2)}
.p3-confirm{border-color:var(--good)}
.p3-okdot{width:32px;height:32px;border-radius:16px;background:var(--good);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.p3-rank{width:30px;height:30px;border-radius:15px;background:var(--lake-tint);color:var(--navy);font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.p3-badge{gap:6px;padding:12px}
.p3-badge .h3{font-size:14px}
.p3-badge-ic{width:36px;height:36px;border-radius:18px;background:var(--neutral);color:var(--muted);display:inline-flex;align-items:center;justify-content:center}
.p3-earned{border-color:var(--good)}
.p3-earned .p3-badge-ic{background:var(--orange);color:#fff}
.p3-meter{height:8px;border-radius:4px;background:var(--neutral);overflow:hidden}
.p3-meter span{display:block;height:100%;background:var(--lake);border-radius:4px}
.p3-cert{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:10px}
.p3-cert-in{border:3px double var(--navy);border-radius:10px;padding:20px 14px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:var(--navy)}
.p3-cert-k{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--lake)}
.p3-cert-t{font-family:var(--display);font-size:28px;font-weight:700;line-height:1.1}
.p3-cert-ic{color:var(--orange)}
.p3-cert-small{font-size:14px;color:var(--ink-2)}
.p3-cert-name{font-family:var(--display);font-size:34px;font-weight:700;color:var(--orange);border-bottom:2px solid var(--orange-line);padding:0 12px 2px;word-break:break-word;max-width:100%}
.p3-cert-sig{margin-top:8px;font-weight:700;font-size:14px}
.p3-dir-ic{width:34px;height:34px;border-radius:17px;background:var(--lake-tint);color:var(--lake);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.p3-price{font-family:var(--display);font-size:20px;font-weight:700;color:var(--navy);white-space:nowrap}
.p3-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 0 6px;margin:0 -16px;padding-left:16px;padding-right:16px;scrollbar-width:none;flex-shrink:0}
.p3-tabs::-webkit-scrollbar{display:none}
.p3-tabs .chip{flex-shrink:0;min-height:44px;height:44px;border-radius:22px}
.p3-card{width:44px;height:60px;border-radius:8px;border:1px solid var(--line-2);background:#fff;color:var(--ink);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:16px;line-height:1.1;flex-shrink:0;box-shadow:0 1px 2px rgba(14,43,61,.12)}
.p3-red{color:var(--danger)}
.p3-hand .row{flex-wrap:wrap}
.p3-code{background:var(--ground);border-radius:10px;padding:6px 6px 6px 12px;font-size:14px}
.p3-code b{font-family:var(--display);font-size:20px;letter-spacing:2px}
.p3-code-in{flex:1;min-width:0;min-height:44px;border-radius:var(--radius-sm);border:1px solid var(--line-2);padding:8px 12px;font-size:16px;letter-spacing:2px;text-transform:uppercase}
.p3-locked{opacity:.55;filter:grayscale(1)}
@media print{
  body.p3-printing{background:#fff}
  body.p3-printing *{visibility:hidden}
  body.p3-printing .p3-cert,body.p3-printing .p3-cert *{visibility:visible}
  body.p3-printing .p3-cert{position:fixed;left:0;top:0;width:100%;border:none}
  body.p3-printing .p3-cert-in{padding:60px 30px}
  body.p3-printing .p3-cert-t{font-size:44px}
  body.p3-printing .p3-cert-name{font-size:54px}
}
