.cmvp-wrap { max-width: 980px; margin: 0 auto; padding: 28px; background: #fff; border-radius: 18px; box-shadow: 0 10px 30px rgba(0,0,0,.07); }
.cmvp-wrap h2 { margin-top: 0; font-size: 2rem; }
.cmvp-intro { color: #555; }
.cmvp-note { color: #333; font-size: .92rem; line-height: 1.45; }
.cmvp-step { margin: 28px 0; padding: 24px; border: 1px solid #e8e4ef; border-radius: 16px; background: #fbf9ff; }
.cmvp-step h3 { margin-top: 0; }
.cmvp-step h4 { margin-bottom: 6px; }
.cmvp-form label { display: block; font-weight: 700; margin: 14px 0 6px; }
.cmvp-form input[type="text"], .cmvp-form input[type="email"], .cmvp-form input[type="url"], .cmvp-form input[type="number"], .cmvp-form select, .cmvp-form textarea { width: 100%; padding: 12px 14px; border: 1px solid #d8d1e5; border-radius: 10px; font-size: 1rem; background: #fff; }
.cmvp-percent-list { display: grid; gap: 12px; margin-top: 12px; }
.cmvp-percent-row { display: grid; grid-template-columns: minmax(220px, 1fr) 180px; gap: 16px; align-items: center; padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.7); }
.cmvp-percent-row label { margin: 0; }
.cmvp-checkbox-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; margin-top: 8px; }
.cmvp-check { font-weight: 500 !important; display: flex !important; gap: 8px; align-items: center; margin: 4px 0 !important; }
.cmvp-total { margin-top: 14px; padding: 10px 12px; border-radius: 10px; background: #fff; border: 1px solid transparent; }
.cmvp-total-good { border-color: #91c89f; background: #f1fbf4; }
.cmvp-total-bad { border-color: #e0aaaa; background: #fff5f5; }
.cmvp-calculated { margin-top: 14px; padding: 12px 16px; border-radius: 12px; background: #fff; }
.cmvp-calculated ul { margin-bottom: 0; }
.cmvp-nested { margin-top: 24px; padding: 18px; border-radius: 14px; background: #fff; border: 1px dashed #cbbddf; }
.cmvp-conditional { display: none; }
.cmvp-submit { padding: 14px 24px; border: 0; border-radius: 999px; font-size: 1rem; font-weight: 800; cursor: pointer; background: #4f2f73; color: #fff; }
.cmvp-submit-disabled, .cmvp-submit:disabled { opacity: .45; cursor: not-allowed; }
.cmvp-alert { padding: 18px 20px; border-radius: 14px; margin: 20px 0; }
.cmvp-alert-error { background: #fff1f1; border: 1px solid #f3b4b4; }
.cmvp-alert-success { background: #effaf3; border: 1px solid #a7d9b6; }
@media (max-width: 800px) { .cmvp-checkbox-grid { grid-template-columns: 1fr; } .cmvp-percent-row { grid-template-columns: 1fr; } .cmvp-wrap { padding: 18px; } }

.cmvp-money-field { display: flex; align-items: center; border: 1px solid #d8d1e5; border-radius: 10px; background: #fff; overflow: hidden; }
.cmvp-money-field span { padding: 0 12px; font-weight: 800; color: #4f2f73; white-space: nowrap; }
.cmvp-form .cmvp-money-field input[type="text"] { border: 0; border-radius: 0; flex: 1; min-width: 0; }
.cmvp-form .cmvp-money-field input[type="text"]:focus { outline: none; box-shadow: none; }
.cmvp-result-card h3 { margin-top: 0; }
.cmvp-result-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 16px 0 18px; }
.cmvp-result-grid div { background: #fff; border: 1px solid #cfe6d4; border-radius: 14px; padding: 14px; }
.cmvp-result-grid span { display: block; color: #555; font-weight: 700; margin-bottom: 4px; }
.cmvp-result-grid strong { display: block; font-size: 1.35rem; color: #2d5c39; }
@media (max-width: 800px) { .cmvp-result-grid { grid-template-columns: 1fr; } }
.cmvp-result-target { margin-top: 24px; }
.cmvp-alert-loading { background: #f8f8fb; border: 1px solid #ded9eb; }

.cmvp-participation-planner { margin-top: 28px; padding: 24px; border: 1px solid #d8d1e5; border-radius: 18px; background: #fbf9ff; }
.cmvp-planner-header h3 { margin-top: 0; font-size: 1.55rem; }
.cmvp-planner-header p { color: #555; margin-bottom: 18px; }
.cmvp-planner-controls { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 18px 0; }
.cmvp-control-card { padding: 18px; border: 1px solid #e8e4ef; border-radius: 16px; background: #fff; }
.cmvp-control-card h4 { margin-top: 0; }
.cmvp-control-card label { display: block; font-weight: 800; margin: 12px 0 6px; }
.cmvp-control-card select { width: 100%; padding: 12px 14px; border: 1px solid #d8d1e5; border-radius: 10px; font-size: 1rem; background: #fff; }
.cmvp-planner-output { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.cmvp-output-card { background: #fff; border: 1px solid #d9e8df; border-radius: 14px; padding: 16px; }
.cmvp-output-card span { display: block; color: #555; font-weight: 800; margin-bottom: 5px; }
.cmvp-output-card strong { display: block; font-size: 1.35rem; color: #2d5c39; line-height: 1.2; }
.cmvp-output-card small { display: block; margin-top: 6px; color: #666; }
.cmvp-output-opportunity { background: #effaf3; }
.cmvp-payment-plan { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.cmvp-payment-plan div { background: #fff; border: 1px solid #e8e4ef; border-radius: 14px; padding: 16px; font-size: .98rem; }
.cmvp-payment-plan strong { display:block; color:#555; margin-bottom:5px; }
.cmvp-payment-plan span { display:block; font-size:1.25rem; color:#2d5c39; font-weight:800; line-height:1.2; }
.cmvp-payment-plan em { color: #666; font-style: normal; }
.cmvp-compare-add { margin: 10px 0 22px; padding: 12px 18px; border: 0; border-radius: 999px; background: #4f2f73; color: #fff; font-weight: 800; cursor: pointer; }
.cmvp-comparison-wrap { margin-top: 10px; }
.cmvp-comparison-wrap h4 { margin-bottom: 4px; }
.cmvp-comparison-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.cmvp-comparison-card, .cmvp-empty-compare { padding: 16px; border-radius: 14px; background: #fff; border: 1px solid #e8e4ef; }
.cmvp-comparison-card p { margin: 7px 0; }
.cmvp-comparison-card hr { border: 0; border-top: 1px solid #eee; margin: 12px 0; }
.cmvp-comparison-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 8px; }
.cmvp-remove-model { border: 0; background: #fff1f1; color: #8a2a2a; width: 28px; height: 28px; border-radius: 50%; font-size: 18px; line-height: 1; cursor: pointer; }
.cmvp-empty-compare { color: #666; grid-column: 1 / -1; }
@media (max-width: 900px) { .cmvp-planner-controls, .cmvp-planner-output, .cmvp-payment-plan, .cmvp-comparison-grid { grid-template-columns: 1fr; } }

.cmvp-result-subtitle { margin: -6px 0 16px; color: #555; line-height: 1.5; }
.cmvp-planner-hidden { display: none; }
.cmvp-planner-visible { display: block; }
.cmvp-show-planner { margin-top: 14px; }
.cmvp-show-planner:hover { filter: brightness(.95); }
.cmvp-wrap .cmvp-submit, .cmvp-wrap button.cmvp-submit { background-color: #8c5383 !important; font-weight: 300 !important; font-size: 24px !important; color: #fff !important; }
.cmvp-step label a { display: inline-block; margin-top: 6px; font-weight: 700; }

.cmvp-option-link { margin: 8px 0 0; font-size: .92rem; }
.cmvp-option-link a { font-weight: 700; }
.cmvp-one-line { white-space: nowrap; }
.cmvp-planner-prompt { margin: 8px 0 0; color: #333; font-size: .92rem; line-height: 1.45; }
.cmvp-financial-row .cmvp-output-card, .cmvp-payment-plan div { background: #fff; }
.cmvp-opportunity-row .cmvp-output-card { background: #effaf3; }
@media (max-width: 900px) { .cmvp-one-line { white-space: normal; } }

.cmvp-tier-descriptions { margin-top: 12px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; }
.cmvp-tier-descriptions p { margin: 0; padding: 10px 12px; border-radius: 10px; background: #fff; border: 1px solid #eee8f5; font-size: .9rem; line-height: 1.35; }
.cmvp-mini-note { margin: 6px 0 0; color: #555; font-size: .86rem; line-height: 1.35; }
.cmvp-application-next { margin: 20px 0; padding: 18px; border-radius: 16px; background: #fff; border: 1px solid #e8e4ef; }
.cmvp-application-next h4 { margin-top: 0; }
.cmvp-application-button { display: inline-block; margin-top: 8px; padding: 12px 18px; border-radius: 999px; background: #4f2f73; color: #fff !important; text-decoration: none; font-weight: 800; }
.cmvp-application-button:hover { filter: brightness(.95); }
@media (max-width: 800px) { .cmvp-tier-descriptions { grid-template-columns: 1fr; } }

.cmvp-slider-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 12px 0 6px; }
.cmvp-slider-heading label { margin: 0; }
.cmvp-slider-heading strong { font-size: 1.25rem; color: #2d5c39; }
.cmvp-control-card input[type="range"].cmvp-rev-share { width: 100%; margin: 10px 0 4px; accent-color: #8c5383; }
.cmvp-slider-scale { display: flex; justify-content: space-between; color: #555; font-size: .84rem; font-weight: 700; }


/* v1.5.7 refinement */
.cmvp-revenue-share-card { margin: 18px 0; }
.cmvp-payment-plan div:first-child { background: #effaf3; border-color: #cfe6d4; }
.cmvp-compare-add, .cmvp-application-button {
    display: inline-block !important;
    padding: 14px 24px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background-color: #8c5383 !important;
    color: #fff !important;
    font-weight: 300 !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}
.cmvp-compare-add:hover, .cmvp-application-button:hover { filter: brightness(.95); }
.cmvp-comparison-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) { .cmvp-comparison-grid { grid-template-columns: 1fr; } }

/* v1.6.5 opportunity result UX */
.cmvp-result-based-on { margin: 18px 0; }
.cmvp-result-based-on h4, .cmvp-capacity-card h4 { margin: 0 0 8px; }
.cmvp-result-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 18px; }
.cmvp-result-facts p { margin: 0; }
.cmvp-capacity-card { margin: 18px 0; padding: 16px; border-radius: 16px; background: #fff; border: 1px solid #cfe6d4; }
.cmvp-capacity-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.cmvp-capacity-heading strong { color: #2d5c39; font-size: 1.05rem; }
.cmvp-capacity-bar { height: 14px; width: 100%; overflow: hidden; border-radius: 999px; background: repeating-linear-gradient(90deg, #eef6f0 0, #eef6f0 8px, #dceee2 8px, #dceee2 9px); border: 1px solid #d9e8df; }
.cmvp-capacity-bar span { display: block; height: 100%; min-width: 3px; border-radius: 999px; background: #2d5c39; transition: width .25s ease; }
.cmvp-capacity-copy { margin: 10px 0 0; color: #333; font-size: .92rem; line-height: 1.45; }
.cmvp-planner-capacity-card { margin-top: 0; }
@media (max-width: 800px) {
  .cmvp-result-facts { grid-template-columns: 1fr; }
  .cmvp-capacity-heading { display: block; }
  .cmvp-capacity-heading strong { display: block; margin-top: 4px; }
}
