.rm-public { max-width: 640px; margin: 0 auto; font-size: 15px; line-height: 1.5; }

.rm-form fieldset { border: 1px solid #e0e0e0; border-radius: 8px; padding: 16px 20px; margin-bottom: 20px; }
.rm-form legend { font-weight: 700; padding: 0 8px; }
.rm-form label { display: block; margin-bottom: 12px; font-weight: 600; font-size: 13px; }
.rm-form label input,
.rm-form label select,
.rm-form label textarea {
    display: block;
    width: 100%;
    margin-top: 4px;
    padding: 8px 10px;
    font-weight: normal;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}
.rm-form .rm-checkbox { display: flex; align-items: center; gap: 8px; font-weight: normal; }
.rm-form .rm-checkbox input { width: auto; margin: 0; }

.rm-btn {
    display: inline-block;
    background: #1a5d3a;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
}
.rm-btn-secondary { background: #4a5568; }

.rm-notice { padding: 12px 16px; border-radius: 6px; margin: 12px 0; }
.rm-notice-success { background: #e6f6ec; color: #14532d; border: 1px solid #b7e4c7; }
.rm-notice-error { background: #fdeaea; color: #8a1f2b; border: 1px solid #f4b7bd; }

.rm-reference {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 1px;
    background: #f5f5f5;
    padding: 8px 14px;
    border-radius: 6px;
    display: inline-block;
}

.rm-quote-box { margin-top: 14px; padding: 14px 16px; background: #f7faf8; border: 1px solid #d5e8dd; border-radius: 6px; }
.rm-upload-proof-box { margin-top: 16px; padding: 16px 20px; border: 1px dashed #ccc; border-radius: 8px; }

.rm-portal-new-transfer { margin: 20px 0; border: 2px solid #1a5d3a; border-radius: 8px; padding: 4px 20px 16px; }
.rm-portal-new-transfer summary { cursor: pointer; font-size: 18px; font-weight: 700; padding: 12px 0; color: #1a5d3a; }
.rm-quote-box table { width: 100%; }
.rm-quote-box td { padding: 4px 0; }
.rm-quote-box td:last-child { text-align: right; font-weight: 600; }

.rm-status { display:inline-block; padding:3px 10px; border-radius:12px; font-size:12px; font-weight:700; background:#f0f0f1; }
.rm-status-completed { background:#d4f5dd; color:#005c1a; }
.rm-status-submitted, .rm-status-awaiting_confirmation, .rm-status-draft { background:#fdf2d0; color:#7a5b00; }
.rm-status-rejected, .rm-status-cancelled, .rm-status-failed { background:#fadadb; color:#8a1f2b; }
.rm-status-confirmed, .rm-status-processing { background:#d9edff; color:#0a4b78; }

.rm-track-form { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; margin-bottom: 20px; }
.rm-track-form label { flex: 1; min-width: 200px; margin-bottom: 0; }
.rm-track-table { width: 100%; margin: 12px 0; }
.rm-track-table th { text-align: left; padding: 6px 0; width: 40%; }
.rm-track-table td { padding: 6px 0; }

@media (max-width: 480px) {
    .rm-public { padding: 0 10px; }
    .rm-track-form { flex-direction: column; align-items: stretch; }
}
