.rmpg-tool { max-width: 1100px; margin: 0 auto; }
.rmpg-card { background:#fff; border:1px solid #e7e7e7; border-radius:16px; padding:24px; margin-bottom:20px; box-shadow:0 6px 18px rgba(0,0,0,0.04); }
.rmpg-intro { margin-top:8px; color:#555; }
.rmpg-grid { display:grid; gap:16px; }
.rmpg-grid.two-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rmpg-field { margin-bottom:16px; }
.rmpg-field label { display:block; font-weight:600; margin-bottom:8px; }
.rmpg-field input, .rmpg-field select, .rmpg-field textarea { width:100%; border:1px solid #d8d8d8; border-radius:10px; padding:12px 14px; min-height:48px; background:#fff; }
.rmpg-field small { display:block; margin-top:6px; color:#666; }
.rmpg-button, .rmpg-secondary { appearance:none; border:0; border-radius:999px; padding:12px 18px; cursor:pointer; font-weight:700; }
.rmpg-button { background:#f73760; color:#fff; }
.rmpg-secondary { background:#111; color:#fff; }
.rmpg-actions { display:flex; gap:10px; margin:20px 0; flex-wrap:wrap; }
.rmpg-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.rmpg-summary-card { border:1px solid #ececec; border-radius:14px; padding:16px; display:flex; flex-direction:column; gap:6px; }
.rmpg-summary-card strong { font-size:14px; }
.rmpg-summary-card span { font-size:20px; line-height:1.2; }
.rmpg-note { margin:16px 0 0; color:#555; }
.rmpg-table-wrap { overflow-x:auto; }
.rmpg-table { width:100%; border-collapse:collapse; }
.rmpg-table th, .rmpg-table td { border-bottom:1px solid #ececec; text-align:left; padding:12px; vertical-align:top; }
.rmpg-table th { background:#fafafa; }
.rmpg-credit { text-align:right; color:#666; font-size:14px; }
.rmpg-credit a { color:#f73760; text-decoration:none; }
.rmpg-error, .rmpg-feedback { background:#fff3f3; border:1px solid #ffcccc; color:#a12727; border-radius:12px; padding:14px; }
.rmpg-modal { position:fixed; inset:0; background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center; z-index:99999; padding:20px; }
.rmpg-modal-content { position:relative; background:#fff; width:min(560px,100%); border-radius:18px; padding:24px; box-shadow:0 20px 60px rgba(0,0,0,.25); }
.rmpg-modal-close { position:absolute; top:12px; right:14px; border:0; background:none; font-size:28px; cursor:pointer; }
@media (max-width:780px){ .rmpg-grid.two-columns,.rmpg-summary-grid{grid-template-columns:1fr;} }
