
.pt-board-wrap{max-width:1100px;margin:30px auto;padding:20px;background:#fff;border-radius:18px;box-shadow:0 8px 30px rgba(0,0,0,.08)}
.pt-card{border:1px solid #e5e7eb;border-radius:16px;padding:20px;margin:20px 0;background:#fafafa}
.pt-card h3{margin:0 0 8px}
.pt-meta{font-size:14px;color:#555;margin-bottom:14px}
.pt-login-box{max-width:420px;margin:40px auto;padding:24px;background:#fff;border-radius:18px;box-shadow:0 8px 30px rgba(0,0,0,.08)}
.pt-progress{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 20px}
.pt-progress-step{flex:1 1 120px;min-width:110px;padding:10px 12px;border-radius:999px;background:linear-gradient(90deg,#ececec,#f7f7f7);font-size:13px;text-align:center;color:#666}
.pt-progress-step.done{background:linear-gradient(90deg,#2f6fed,#63a4ff);color:#fff}
.pt-timeline{position:relative;margin-top:24px;padding-left:24px}
.pt-timeline h4{margin:0 0 14px}
.pt-timeline-line{position:absolute;left:9px;top:32px;bottom:0;width:3px;background:linear-gradient(180deg,#cfd8dc,#90caf9)}
.pt-timeline-item{position:relative;padding:0 0 18px 18px}
.pt-timeline-dot{position:absolute;left:-1px;top:4px;width:18px;height:18px;border-radius:50%;background:#cfd8dc;border:3px solid #fff;box-shadow:0 0 0 2px #cfd8dc}
.pt-timeline-item.done .pt-timeline-dot{background:#2f6fed;box-shadow:0 0 0 2px #2f6fed}
.pt-timeline-content{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:12px 14px}
