.pp-crumb { background: #f7f9fc; padding: 18px 0 0; font-size: 13px; color: #666; }
.pp-crumb a { color: #003366; }
.pp-wrap { max-width: 760px; margin: 0 auto; padding: 26px 16px 60px; }
.pp-wrap h1 { font-size: 28px; color: #003366; font-weight: 700; margin-bottom: 6px; }
.pp-lead { color: #444; font-size: 15px; margin-bottom: 18px; }
.pp-card { background: #fff; border: 1px solid #dfe5ee; border-radius: 10px; padding: 18px 20px; margin-bottom: 16px; box-shadow: 0 1px 6px rgba(0, 0, 0, .04); }
.pp-card h2 { font-size: 17px; color: #003366; font-weight: 600; margin: 0 0 8px; }
.pp-n { display: inline-block; width: 24px; height: 24px; line-height: 24px; text-align: center; background: #003366; color: #fff; border-radius: 50%; font-size: 13px; margin-right: 6px; }
.pp-hint { font-size: 13.5px; color: #555; margin-bottom: 12px; line-height: 1.6; }
.pp-row { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 12px; }
.pp-row > div { flex: 1; min-width: 200px; }
.pp-card label { display: block; font-size: 13px; font-weight: 600; color: #333; margin-bottom: 4px; }
.pp-card input[type=text], .pp-card input[type=date] { width: 100%; border: 1px solid #c9d2e0; border-radius: 6px; padding: 9px 11px; font-size: 14.5px; }
.pp-btn { background: #003366; color: #fff; border: none; border-radius: 6px; padding: 10px 22px; font-size: 14.5px; font-weight: 600; cursor: pointer; }
.pp-btn:disabled { opacity: .6; cursor: not-allowed; }
.pp-btn-green { background: #16794c; }
.pp-btn-grey { background: #6b7280; margin-left: 8px; }
.pp-link { background: none; border: none; color: #003366; text-decoration: underline; cursor: pointer; margin-left: 12px; font-size: 13.5px; }
.pp-msg { margin-top: 10px; font-size: 13.5px; color: #b91c1c; }
.pp-hidden { display: none; }
.pp-alert { white-space: pre-line; border-radius: 8px; padding: 12px 14px; margin-bottom: 14px; font-size: 14px; }
.pp-ok { background: #dcfce7; color: #166534; border: 1px solid #86efac; }
.pp-bad { background: #fee2e2; color: #991b1b; border: 1px solid #fca5a5; }
.pp-warn { background: #fffbeb; color: #92400e; border: 1px solid #fde68a; }
.pp-tbl { width: 100%; border-collapse: collapse; font-size: 14px; margin: 8px 0 12px; }
.pp-tbl td { padding: 8px 6px; border-bottom: 1px solid #edf0f5; }
.pp-tbl td:first-child { width: 36%; color: #6b7280; font-weight: 600; }
.pp-list { font-size: 14px; line-height: 1.7; padding-left: 20px; }
.pp-list li { list-style: disc; }
