@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Poppins:wght@600&display=swap');
:root{--vx-green:#2ecc40;--vx-yellow:#ffdc00;--vx-black:#000;--vx-white:#fff;--vx-neutral:#F5F5F2;--vx-border:#dfdfd8;--vx-soft-green:#eaffed;--vx-soft-yellow:#fff9c9;--vx-soft-blue:#eaf4ff;--vx-soft-purple:#f2ecff;--vx-soft-peach:#fff0e6;--vx-danger:#b42318}
.vxrp-no-scroll{overflow:hidden}.vxrp-app{font-family:Montserrat,Arial,sans-serif;color:var(--vx-black);max-width:1180px;margin:auto;padding:24px;box-sizing:border-box}.vxrp-app *{box-sizing:border-box}.vxrp-app h1,.vxrp-app h2,.vxrp-app h3,.vxrp-app h4{font-family:Poppins,Arial,sans-serif}.vxrp-app button,.vxrp-app input,.vxrp-app select,.vxrp-app textarea{font-family:Montserrat,Arial,sans-serif}
.vxrp-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--vx-black);color:var(--vx-white);padding:34px;border-radius:28px;box-shadow:0 16px 40px rgba(0,0,0,.12)}.vxrp-hero h1{color:var(--vx-yellow);margin:4px 0;font-size:clamp(29px,4vw,46px)}.vxrp-hero p{margin:0;font-size:17px}.vxrp-kicker,.vxrp-eyebrow{font-size:11px;letter-spacing:2px;font-weight:700}.vxrp-kicker{color:var(--vx-green)}.vxrp-eyebrow{color:#37743f}
.vxrp-btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:13px;padding:12px 18px;font-weight:700;font-size:14px;cursor:pointer;text-decoration:none;line-height:1.2;transition:transform .15s ease,box-shadow .15s ease}.vxrp-btn:hover{transform:translateY(-1px)}.vxrp-btn-primary{background:var(--vx-green);color:#000;box-shadow:0 6px 0 rgba(46,204,64,.22)}.vxrp-btn-secondary{background:var(--vx-yellow);color:#000;box-shadow:0 6px 0 rgba(255,220,0,.22)}.vxrp-btn-neutral{background:var(--vx-neutral);color:#000}.vxrp-btn-danger{background:var(--vx-neutral);color:var(--vx-danger)}.vxrp-btn-small{padding:10px 14px;font-size:12px}.vxrp-btn-icon{width:42px;height:42px;padding:0;border-radius:12px}
.vxrp-device-banner{margin:18px 0;padding:16px 18px;border-left:5px solid var(--vx-yellow);background:var(--vx-neutral);border-radius:16px;display:flex;gap:16px;align-items:center;justify-content:space-between}.vxrp-device-banner strong,.vxrp-device-banner span{display:block}.vxrp-device-banner span{font-size:13px;margin-top:3px}
.vxrp-section-title{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:30px 0 14px}.vxrp-section-title h2{margin:3px 0 0;font-size:24px}.vxrp-plan-section-title{margin-top:34px}
.vxrp-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.vxrp-summary-card{border-radius:20px;padding:20px;min-height:126px;display:flex;flex-direction:column;justify-content:space-between}.vxrp-summary-card:nth-child(1){background:var(--vx-soft-green)}.vxrp-summary-card:nth-child(2){background:var(--vx-soft-blue)}.vxrp-summary-card:nth-child(3){background:var(--vx-soft-yellow)}.vxrp-summary-card:nth-child(4){background:var(--vx-soft-purple)}.vxrp-summary-card span{font-size:13px;font-weight:600}.vxrp-summary-card strong{font:600 24px Poppins;display:block;margin-top:10px}.vxrp-summary-card small{font-size:11px;margin-top:7px}
.vxrp-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.vxrp-plan-card{background:var(--vx-white);border:1px solid var(--vx-border);border-radius:22px;padding:20px;box-shadow:0 10px 26px rgba(0,0,0,.05)}.vxrp-plan-card.is-archived{background:var(--vx-neutral);opacity:.8}.vxrp-plan-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.vxrp-plan-head h3{margin:0 0 5px;font-size:20px}.vxrp-plan-meta{font-size:12px}.vxrp-status{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--vx-soft-green);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.vxrp-status.archived{background:var(--vx-neutral)}
.vxrp-plan-balance{background:var(--vx-black);color:#fff;border-radius:16px;padding:16px;margin:16px 0}.vxrp-plan-balance span,.vxrp-plan-balance strong{display:block}.vxrp-plan-balance span{font-size:12px}.vxrp-plan-balance strong{font:600 26px Poppins;color:var(--vx-yellow);margin-top:3px}.vxrp-plan-mini{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vxrp-plan-mini>div{background:var(--vx-neutral);padding:12px;border-radius:13px}.vxrp-plan-mini small,.vxrp-plan-mini strong{display:block}.vxrp-plan-mini small{font-size:10px}.vxrp-plan-mini strong{font-size:14px;margin-top:4px}.vxrp-guidance{background:var(--vx-soft-green);border-left:4px solid var(--vx-green);padding:12px;border-radius:10px;margin:13px 0;font-size:12px;line-height:1.5}.vxrp-guidance.is-warning{background:var(--vx-soft-yellow);border-left-color:var(--vx-yellow)}.vxrp-actions{display:flex;flex-wrap:wrap;gap:8px}
.vxrp-empty{text-align:center;padding:62px 20px;background:var(--vx-neutral);border-radius:28px;margin-top:22px}.vxrp-empty-mark{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--vx-yellow);font:600 30px Poppins}.vxrp-empty h2{font-size:28px;margin:7px 0}.vxrp-empty p{max-width:610px;margin:0 auto 18px;line-height:1.6}.vxrp-empty-steps{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:18px 0 24px}.vxrp-empty-steps span{background:#fff;padding:10px 13px;border-radius:999px;font-size:12px}.vxrp-empty-steps b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--vx-green);margin-right:5px}
.vxrp-fab{display:none;position:fixed;right:20px;bottom:20px;z-index:9000;width:58px;height:58px;border:0;border-radius:50%;background:var(--vx-green);font-size:30px;font-weight:700;box-shadow:0 10px 28px rgba(0,0,0,.2);cursor:pointer}
.vxrp-modal[hidden],.vxrp-toast[hidden]{display:none}.vxrp-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px}.vxrp-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68)}.vxrp-modal-card{position:relative;width:min(1050px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:26px;padding:30px;box-shadow:0 20px 70px rgba(0,0,0,.3)}.vxrp-modal-close{position:absolute;right:14px;top:12px;border:0;background:var(--vx-neutral);width:38px;height:38px;border-radius:50%;font-size:24px;cursor:pointer;z-index:3}.vxrp-notice-card{text-align:center;padding:10px;max-width:680px;margin:auto}.vxrp-notice-icon{font-size:48px}.vxrp-notice-actions{display:grid;gap:10px;margin-top:20px}
.vxrp-wizard-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 24px}.vxrp-wizard-step{background:var(--vx-neutral);border-radius:12px;padding:10px;text-align:center;font-size:11px;font-weight:700}.vxrp-wizard-step.active{background:var(--vx-yellow)}.vxrp-wizard-step.done{background:var(--vx-soft-green)}.vxrp-wizard-panel h2{margin:0 0 4px}.vxrp-wizard-panel>p{margin-top:0;color:#555}.vxrp-type-grid,.vxrp-template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.vxrp-choice{border:2px solid transparent;background:var(--vx-neutral);border-radius:18px;padding:18px;text-align:left;cursor:pointer;min-height:122px}.vxrp-choice:hover,.vxrp-choice.selected{border-color:var(--vx-green);background:var(--vx-soft-green)}.vxrp-choice-icon{font-size:27px}.vxrp-choice strong,.vxrp-choice span{display:block}.vxrp-choice strong{font-family:Poppins;margin:8px 0 3px}.vxrp-choice span{font-size:11px;line-height:1.4}.vxrp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.vxrp-field label{display:block;font-weight:700;margin-bottom:6px;font-size:13px}.vxrp-field input,.vxrp-field select,.vxrp-field textarea{width:100%;padding:12px;border:1px solid var(--vx-border);border-radius:11px;font:inherit;background:#fff}.vxrp-wizard-nav{display:flex;justify-content:space-between;gap:10px;margin-top:24px}.vxrp-review-card{background:var(--vx-neutral);border-radius:18px;padding:18px;margin-top:14px}.vxrp-review-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vxrp-review-card dt{font-size:11px}.vxrp-review-card dd{margin:3px 0 0;font-weight:700}
.vxrp-workspace-head{padding-right:45px}.vxrp-workspace-head h2{margin:0}.vxrp-tabs{display:flex;gap:8px;overflow:auto;margin:20px 0;border-bottom:1px solid var(--vx-border);padding-bottom:10px}.vxrp-tab{white-space:nowrap;border:0;background:var(--vx-neutral);padding:10px 14px;border-radius:12px;font-weight:700;cursor:pointer}.vxrp-tab.active{background:var(--vx-yellow)}.vxrp-money-journey{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:16px 0}.vxrp-journey-node{position:relative;padding:14px 8px;border-radius:15px;text-align:center;background:var(--vx-neutral)}.vxrp-journey-node:not(:last-child):after{content:'→';position:absolute;right:-12px;top:50%;transform:translateY(-50%);font-weight:700;z-index:2}.vxrp-journey-node span,.vxrp-journey-node strong{display:block}.vxrp-journey-node span{font-size:10px}.vxrp-journey-node strong{font-size:13px;margin-top:4px}.vxrp-journey-node.in{background:var(--vx-soft-green)}.vxrp-journey-node.remaining{background:var(--vx-soft-yellow)}
.vxrp-live-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:var(--vx-black);color:#fff;padding:16px;border-radius:17px;margin:18px 0}.vxrp-live-summary span,.vxrp-live-summary strong{display:block}.vxrp-live-summary strong{font:600 20px Poppins;color:var(--vx-yellow)}.vxrp-live-summary p{grid-column:1/-1;margin:2px 0 0}.vxrp-section-block{margin-top:22px}.vxrp-section-block h3{margin-bottom:4px}.vxrp-section-help{font-size:12px;margin-top:0;color:#555}.vxrp-item-head,.vxrp-item{display:grid;grid-template-columns:1.45fr 1fr 1fr .9fr .9fr auto;gap:8px;align-items:center}.vxrp-item-head{font-size:11px;font-weight:700;padding:0 4px}.vxrp-item{margin:8px 0}.vxrp-item input,.vxrp-item select{width:100%;padding:10px;border:1px solid var(--vx-border);border-radius:10px}.vxrp-save-row{display:flex;justify-content:space-between;gap:10px;margin-top:24px;position:sticky;bottom:-30px;background:#fff;padding:15px 0 5px}.vxrp-toast{position:fixed;right:20px;bottom:20px;z-index:100000;background:#000;color:#fff;padding:14px 18px;border-radius:13px;max-width:340px;box-shadow:0 12px 30px rgba(0,0,0,.2)}
@media(max-width:900px){.vxrp-summary{grid-template-columns:1fr 1fr}.vxrp-plans{grid-template-columns:1fr}.vxrp-money-journey{grid-template-columns:repeat(3,1fr)}.vxrp-journey-node:nth-child(3):after{display:none}.vxrp-type-grid,.vxrp-template-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.vxrp-app{padding:14px}.vxrp-hero{align-items:flex-start;flex-direction:column;padding:26px}.vxrp-section-title{align-items:flex-start}.vxrp-plan-section-title .vxrp-btn{display:none}.vxrp-fab{display:block}.vxrp-form-grid{grid-template-columns:1fr}.vxrp-item-head{display:none}.vxrp-item{grid-template-columns:1fr 1fr;background:var(--vx-neutral);padding:12px;border-radius:14px}.vxrp-item .vxrp-description{grid-column:1/-1}.vxrp-device-banner{align-items:flex-start;flex-direction:column}.vxrp-live-summary{grid-template-columns:1fr 1fr}.vxrp-live-summary p{grid-column:1/-1}}
@media(max-width:480px){.vxrp-summary,.vxrp-plan-mini,.vxrp-live-summary,.vxrp-type-grid,.vxrp-template-grid{grid-template-columns:1fr}.vxrp-money-journey{grid-template-columns:1fr 1fr}.vxrp-journey-node:after{display:none}.vxrp-modal{padding:8px}.vxrp-modal-card{padding:24px 14px;border-radius:20px}.vxrp-item{grid-template-columns:1fr}.vxrp-item .vxrp-description{grid-column:auto}.vxrp-actions .vxrp-btn{flex:1 1 42%}.vxrp-wizard-progress{grid-template-columns:1fr 1fr}.vxrp-review-card dl{grid-template-columns:1fr}.vxrp-save-row{bottom:-24px}}
.vxrp-confirm-card{width:min(480px,100%);text-align:center}.vxrp-confirm-icon{font-size:46px;margin-bottom:8px}.vxrp-confirm-card p{line-height:1.6}.vxrp-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.vxrp-btn-danger-solid{background:#d92d20;color:#fff;box-shadow:0 6px 0 rgba(217,45,32,.18)}
@media(max-width:480px){.vxrp-confirm-actions{grid-template-columns:1fr}}

.vxrp-hero-actions,.vxrp-empty-actions{display:flex;gap:10px;flex-wrap:wrap}.vxrp-empty-actions{justify-content:center}.vxrp-hero-actions{justify-content:flex-end}
@media(max-width:700px){.vxrp-hero-actions{width:100%}.vxrp-hero-actions .vxrp-btn{flex:1}.vxrp-empty-actions{flex-direction:column;align-items:stretch;max-width:320px;margin-left:auto;margin-right:auto}}

/* Savings Goals — v0.4.0 */
.vxrp-goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.vxrp-goal-card{background:#fff;border:1px solid var(--vx-border);border-radius:22px;padding:20px;box-shadow:0 10px 26px rgba(0,0,0,.05)}.vxrp-goal-card.is-archived{background:var(--vx-neutral);opacity:.82}.vxrp-goal-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.vxrp-goal-head h3{margin:3px 0 0;font-size:20px}.vxrp-goal-amounts{display:flex;align-items:baseline;gap:7px;margin:18px 0 8px}.vxrp-goal-amounts strong{font:600 27px Poppins}.vxrp-goal-amounts span{font-size:12px}.vxrp-progress{height:13px;border-radius:999px;background:var(--vx-neutral);overflow:hidden}.vxrp-progress span{display:block;height:100%;border-radius:inherit;background:var(--vx-green);transition:width .25s ease}.vxrp-goal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.vxrp-goal-stats>div{background:var(--vx-neutral);border-radius:12px;padding:10px}.vxrp-goal-stats small,.vxrp-goal-stats strong{display:block}.vxrp-goal-stats small{font-size:9px;text-transform:uppercase;letter-spacing:.5px}.vxrp-goal-stats strong{font-size:12px;margin-top:4px}.vxrp-goal-tip{background:var(--vx-soft-green);border-left:4px solid var(--vx-green);border-radius:10px;padding:12px;font-size:12px;line-height:1.5}.vxrp-inline-empty{grid-column:1/-1;background:var(--vx-neutral);border-radius:18px;padding:22px;text-align:center;font-size:13px}.vxrp-field-wide{grid-column:1/-1}.vxrp-field label span{font-weight:400;color:#666}.vxrp-goal-preview{margin-top:18px;background:var(--vx-soft-yellow);border-radius:16px;padding:15px}.vxrp-goal-preview>strong{display:block;margin-bottom:10px}.vxrp-goal-preview p{margin:9px 0 0;font-size:12px}
@media(max-width:900px){.vxrp-goals{grid-template-columns:1fr}}
@media(max-width:600px){.vxrp-goal-stats{grid-template-columns:1fr 1fr}.vxrp-goal-stats>div:last-child{grid-column:1/-1}.vxrp-goal-section-title{align-items:flex-start}.vxrp-goal-section-title .vxrp-btn{display:none}}

/* v0.5.0 reflections and insights */
.vxrp-insights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.vxrp-insight{display:flex;gap:12px;padding:16px;border-radius:16px;background:#F5F5F2;border:1px solid rgba(0,0,0,.07)}.vxrp-insight>span{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;font-weight:800;background:#fff}.vxrp-insight.positive>span{background:rgba(46,204,64,.18);color:#167925}.vxrp-insight.warning>span{background:rgba(255,220,0,.34);color:#000}.vxrp-insight strong{font-family:Poppins,Arial,sans-serif}.vxrp-insight p{margin:4px 0 0;line-height:1.5}.vxrp-reflection-intro{padding:18px;border-radius:18px;background:#F5F5F2;margin-bottom:16px}.vxrp-reflection-intro h3{margin:4px 0}.vxrp-reflection-intro p{margin:6px 0 0}.vxrp-reflection-saved{font-size:.9rem;font-weight:600;margin:14px 0 0}.vxrp-field textarea{width:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.18);border-radius:12px;padding:12px;font:inherit;resize:vertical;background:#fff}.vxrp-field textarea:focus{outline:3px solid rgba(46,204,64,.18);border-color:#2ecc40}
@media(max-width:720px){.vxrp-insights-grid{grid-template-columns:1fr}.vxrp-reflection-intro{padding:15px}}

/* v0.6.0 transaction tracker */
.vxrp-transaction-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:var(--vx-neutral);padding:18px;border-radius:18px;margin:16px 0}.vxrp-transaction-form>.vxrp-btn{align-self:end;min-height:46px}.vxrp-transaction-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--vx-black);color:#fff;border-radius:15px;padding:14px 16px;margin:16px 0}.vxrp-transaction-summary strong{font:600 22px Poppins;color:var(--vx-yellow)}.vxrp-transaction-summary span{font-size:12px}.vxrp-transaction-summary b{margin-left:auto;color:var(--vx-green)}.vxrp-transaction-list{display:grid;gap:10px}.vxrp-transaction-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;border:1px solid var(--vx-border);border-radius:15px;padding:12px;background:#fff}.vxrp-transaction-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800}.vxrp-transaction-icon.income{background:var(--vx-soft-green);color:#167925}.vxrp-transaction-icon.expense{background:var(--vx-soft-yellow);color:#000}.vxrp-transaction-main strong,.vxrp-transaction-main span{display:block}.vxrp-transaction-main span{font-size:11px;color:#666;margin-top:3px}.vxrp-transaction-amount{white-space:nowrap}.vxrp-transaction-amount.income{color:#167925}.vxrp-transaction-amount.expense{color:#9b2c20}
@media(max-width:800px){.vxrp-transaction-form{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.vxrp-transaction-form{grid-template-columns:1fr}.vxrp-transaction-row{grid-template-columns:auto 1fr auto}.vxrp-transaction-row>.vxrp-btn{grid-column:3}.vxrp-transaction-amount{grid-column:2}.vxrp-transaction-summary b{width:100%;margin-left:0}}


/* v0.7.0 recurring items and plan rollover */
.vxrp-item-head,.vxrp-item{grid-template-columns:minmax(150px,1.35fr) minmax(120px,1fr) minmax(110px,.8fr) minmax(95px,.7fr) minmax(95px,.7fr) minmax(100px,.7fr) 42px}
.vxrp-recurring-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#F5F5F2;font-weight:700;font-size:12px;cursor:pointer}
.vxrp-recurring-toggle input{width:17px;height:17px;accent-color:#2ecc40}.vxrp-recurring-toggle span{white-space:nowrap}
.vxrp-rollover p{margin-top:6px}.vxrp-field-wide{grid-column:1/-1}.vxrp-rollover-options{border:0;padding:0;margin:20px 0}.vxrp-rollover-options legend{font-family:Poppins,Arial,sans-serif;font-weight:700;margin-bottom:10px}.vxrp-rollover-options label{display:flex;align-items:flex-start;gap:12px;padding:14px;margin-bottom:10px;border:2px solid #F5F5F2;border-radius:14px;cursor:pointer}.vxrp-rollover-options label:has(input:checked){border-color:#2ecc40;background:rgba(46,204,64,.07)}.vxrp-rollover-options label.is-disabled{opacity:.55;cursor:not-allowed}.vxrp-rollover-options input{margin-top:4px;accent-color:#2ecc40}.vxrp-rollover-options span{display:flex;flex-direction:column;gap:3px}.vxrp-rollover-options small{font-weight:400;line-height:1.4}.vxrp-rollover-note{padding:14px;border-radius:12px;background:#F5F5F2;margin-bottom:18px}
@media(max-width:760px){.vxrp-item-head{display:none}.vxrp-item{grid-template-columns:1fr 1fr}.vxrp-item .vxrp-description{grid-column:1/-1}.vxrp-recurring-toggle{justify-content:flex-start}.vxrp-item .vxrp-btn-icon{justify-self:end}.vxrp-field-wide{grid-column:auto}}


/* v0.8.0 plan analytics */
.vxrp-analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.vxrp-analytics-kpis article{background:#F5F5F2;border-radius:16px;padding:16px}.vxrp-analytics-kpis span,.vxrp-analytics-kpis small,.vxrp-analytics-kpis strong{display:block}.vxrp-analytics-kpis span{font-size:11px;text-transform:uppercase;font-weight:800}.vxrp-analytics-kpis strong{font:600 22px Poppins;margin:6px 0}.vxrp-analytics-kpis small{font-size:11px}.vxrp-analytics-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin:18px 0}.vxrp-chart-card{border:1px solid var(--vx-border);border-radius:18px;padding:18px;background:#fff}.vxrp-chart-card h4{margin:0 0 15px}.vxrp-bar-chart{display:grid;gap:15px}.vxrp-bar-label{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.vxrp-bar-label span{font-size:10px;text-align:right}.vxrp-bars{height:22px;background:#F5F5F2;border-radius:999px;position:relative;overflow:hidden}.vxrp-bars i{position:absolute;left:0;border-radius:999px}.vxrp-bars .planned{top:3px;height:7px;background:#ffdc00}.vxrp-bars .actual{bottom:3px;height:7px;background:#2ecc40}.vxrp-chart-legend{display:flex;gap:16px;margin-top:14px;font-size:11px}.vxrp-chart-legend span{display:flex;align-items:center;gap:6px}.vxrp-chart-legend i{width:18px;height:7px;border-radius:999px}.vxrp-chart-legend .planned{background:#ffdc00}.vxrp-chart-legend .actual{background:#2ecc40}.vxrp-class-list{display:grid;gap:13px}.vxrp-class-list>div>span,.vxrp-class-list>div>strong{font-size:12px}.vxrp-class-list>div>strong{float:right}.vxrp-class-list>div>div{clear:both;height:9px;background:#F5F5F2;border-radius:999px;margin-top:7px;overflow:hidden}.vxrp-class-list i{display:block;height:100%;background:#2ecc40;border-radius:inherit}
@media(max-width:850px){.vxrp-analytics-kpis{grid-template-columns:1fr 1fr}.vxrp-analytics-grid{grid-template-columns:1fr}}@media(max-width:480px){.vxrp-analytics-kpis{grid-template-columns:1fr}.vxrp-bar-label{display:block}.vxrp-bar-label span{display:block;text-align:left;margin-top:3px}}
/* v0.9.0 UX polish */
.vxrp-health-card{grid-column:span 2;background:linear-gradient(135deg,#fff,#F5F5F2)}
.vxrp-health-track{height:9px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:999px;overflow:hidden;margin:10px 0 8px}.vxrp-health-track i{display:block;height:100%;background:#2ecc40;border-radius:inherit;transition:width .7s ease}
.vxrp-rich-empty{grid-column:1/-1;text-align:center;background:#F5F5F2;border:1px dashed rgba(0,0,0,.18);border-radius:18px;padding:34px 20px}.vxrp-rich-empty>span{font-size:38px}.vxrp-rich-empty h3{margin:10px 0 6px}.vxrp-rich-empty p{max-width:460px;margin:0 auto 18px}
.vxrp-money-journey{align-items:stretch}.vxrp-journey-node{position:relative;min-width:135px;transition:transform .2s ease,box-shadow .2s ease}.vxrp-journey-node:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,.08)}.vxrp-journey-node small{display:block;font-size:11px;margin-top:5px;opacity:.68}.vxrp-journey-arrow{position:absolute;right:-17px;top:50%;transform:translateY(-50%);z-index:2;font-size:20px}.vxrp-journey-node.need{border-top-color:#9ad5ff}.vxrp-journey-node.saving{border-top-color:#2ecc40}.vxrp-journey-node.debt{border-top-color:#d7b5ff}.vxrp-journey-node.want{border-top-color:#ffcf8b}
.vxrp-overview-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 26px}
.vxrp-timeline{margin-top:24px;padding-top:20px;border-top:1px solid rgba(0,0,0,.1)}.vxrp-timeline article{display:grid;grid-template-columns:20px 1fr;gap:10px;position:relative;padding:0 0 18px}.vxrp-timeline article:before{content:"";position:absolute;left:7px;top:14px;bottom:-4px;width:2px;background:#F5F5F2}.vxrp-timeline article:last-child:before{display:none}.vxrp-timeline article>i{width:16px;height:16px;border-radius:50%;background:#2ecc40;border:4px solid #eaffec;z-index:1}.vxrp-timeline article div{display:grid;gap:2px}.vxrp-timeline article span,.vxrp-timeline article small{font-size:12px;opacity:.7}
.vxrp-toast{display:flex!important;align-items:center;gap:10px;position:fixed;right:22px;bottom:22px;z-index:100000;background:#000;color:#fff;padding:13px 16px;border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.22);max-width:min(390px,calc(100vw - 32px));animation:vxrpToastIn .24s ease both}.vxrp-toast[hidden]{display:none!important}.vxrp-toast.is-error{background:#8b1e2d}.vxrp-toast.is-warning{background:#5b4900}.vxrp-toast.is-leaving{animation:vxrpToastOut .22s ease both}.vxrp-toast-icon{display:grid;place-items:center;width:24px;height:24px;background:#2ecc40;color:#000;border-radius:50%;font-weight:800;flex:0 0 auto}.vxrp-toast.is-error .vxrp-toast-icon,.vxrp-toast.is-warning .vxrp-toast-icon{background:#ffdc00}
.vxrp-progress span,.vxrp-admin-bar i{transition:width .7s ease}
.vxrp-btn:focus-visible,.vxrp-tab:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(46,204,64,.35)!important;outline-offset:2px}
@keyframes vxrpToastIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}@keyframes vxrpToastOut{to{opacity:0;transform:translateY(10px)}}
@media(max-width:760px){.vxrp-health-card{grid-column:1/-1}.vxrp-journey-arrow{display:none}.vxrp-toast{left:16px;right:16px;bottom:16px}.vxrp-overview-actions .vxrp-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.vxrp-app *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* v1.0 data centre and privacy controls */
.vxrp-data-centre>p,.vxrp-delete-all>p{line-height:1.65;color:#333}
.vxrp-data-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}
.vxrp-data-stats span{background:#F5F5F2;border-radius:16px;padding:16px;text-align:center;display:flex;flex-direction:column;gap:3px}
.vxrp-data-stats strong{font-family:Poppins,Arial,sans-serif;font-size:1.45rem}
.vxrp-data-action{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid #e4e4df}
.vxrp-data-action p,.vxrp-data-danger p{margin:5px 0 0;color:#555;line-height:1.5}
.vxrp-data-danger{margin-top:8px;padding:18px;border:1px solid #efb7b7;border-radius:16px;background:#fff8f8;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.vxrp-data-danger p{flex:1 1 100%}
.vxrp-data-privacy{font-size:.88rem;background:#F5F5F2;border-radius:12px;padding:12px 14px;margin-top:18px!important}
.vxrp-delete-all .vxrp-field{margin:20px 0;text-align:left}
.vxrp-delete-all .vxrp-field span{display:block;margin-bottom:8px}
.vxrp-delete-all input{width:100%;box-sizing:border-box}
@media(max-width:700px){.vxrp-data-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.vxrp-data-action{align-items:stretch;flex-direction:column}.vxrp-data-action .vxrp-btn,.vxrp-data-danger .vxrp-btn{width:100%}}

/* v1.1.0 smart planning, forecasting and goal pace */
.vxrp-smart-planning{margin:26px 0}.vxrp-smart-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.vxrp-smart-grid article,.vxrp-smart-card{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:18px;padding:20px}.vxrp-smart-grid h3,.vxrp-smart-card h3{margin:0 0 10px}.vxrp-smart-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.vxrp-smart-grid li{display:flex;justify-content:space-between;gap:16px;padding:12px;border-radius:12px;background:#F5F5F2}.vxrp-smart-grid li span{font-size:12px;text-align:right;color:#555}.vxrp-smart-note{font-size:12px;background:#F5F5F2;border-radius:10px;padding:10px}.vxrp-smart-card{margin:20px 0;border-left:5px solid #2ecc40}.vxrp-smart-card.vxrp-smart-warning{border-left-color:#ffdc00}.vxrp-smart-card p{line-height:1.55}.vxrp-forecast-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.vxrp-forecast-stats span{background:#F5F5F2;border-radius:12px;padding:12px}.vxrp-forecast-stats small,.vxrp-forecast-stats strong{display:block}.vxrp-forecast-stats small{font-size:10px;text-transform:uppercase;font-weight:800}.vxrp-forecast-stats strong{margin-top:5px;font-family:Poppins,Arial,sans-serif}.vxrp-goal-schedule{display:flex;flex-direction:column;gap:3px;margin:14px 0;padding:11px 12px;border-radius:12px;background:#F5F5F2}.vxrp-goal-schedule span{font-size:12px;color:#555}.vxrp-goal-schedule.is-ahead,.vxrp-goal-schedule.is-on-track,.vxrp-goal-schedule.is-complete{background:#eaffec}.vxrp-goal-schedule.is-behind{background:#fff8d6}
@media(max-width:780px){.vxrp-smart-grid{grid-template-columns:1fr}.vxrp-smart-grid li{display:block}.vxrp-smart-grid li span{display:block;text-align:left;margin-top:4px}.vxrp-forecast-stats{grid-template-columns:1fr 1fr}}@media(max-width:460px){.vxrp-forecast-stats{grid-template-columns:1fr}}


/* v1.2 upcoming expenses */
.vxrp-upcoming,.vxrp-plan-upcoming{margin-top:24px;background:#fff;border:1px solid #e7e7e2;border-radius:18px;padding:20px}.vxrp-upcoming-list{display:grid;gap:10px}.vxrp-upcoming-list article{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;background:#F5F5F2;border-left:5px solid #2ecc40;border-radius:14px;padding:14px}.vxrp-upcoming-list article.is-soon{border-left-color:#ffdc00}.vxrp-upcoming-list article.is-overdue{border-left-color:#d63638;background:#fff1f1}.vxrp-upcoming-list article div{display:flex;flex-direction:column;gap:3px}.vxrp-upcoming-list article span,.vxrp-upcoming-list article small{font-size:.82rem;color:#555}.vxrp-due-field{display:flex;flex-direction:column;gap:4px;min-width:145px}.vxrp-due-field span{font-size:.75rem;font-weight:700}.vxrp-paid-toggle{display:flex;align-items:center;gap:6px;font-weight:700;white-space:nowrap}.vxrp-paid-toggle input{width:auto}@media(max-width:760px){.vxrp-upcoming-list article{grid-template-columns:1fr}.vxrp-upcoming-list article .vxrp-btn{width:100%}.vxrp-due-field{min-width:100%}}


/* v1.3 cash flow calendar */
.vxrp-calendar{min-width:min(920px,90vw)}.vxrp-calendar-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.vxrp-calendar-head h2{margin:4px 0 0}.vxrp-calendar-nav{display:flex;gap:7px}.vxrp-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.vxrp-cal-week{text-align:center;font-size:11px;font-weight:800;padding:6px}.vxrp-cal-day{min-height:86px;text-align:left;border:1px solid #e4e4df;background:#fff;border-radius:12px;padding:8px;cursor:pointer;display:flex;align-content:flex-start;align-items:flex-start;gap:4px;flex-wrap:wrap}.vxrp-cal-day>span{width:100%;font-weight:800}.vxrp-cal-day.is-empty{background:#F5F5F2;border-color:transparent;cursor:default}.vxrp-cal-day.is-today{outline:3px solid rgba(46,204,64,.3)}.vxrp-cal-day i,.vxrp-calendar-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;background:#d63638}.vxrp-cal-day i.is-goal,.vxrp-calendar-legend i.is-goal{background:#2ecc40}.vxrp-cal-day i.is-income,.vxrp-calendar-legend i.is-income{background:#2374ab}.vxrp-cal-day i.is-transaction,.vxrp-calendar-legend i.is-transaction{background:#ff9d2e}.vxrp-cal-day i.is-paid{opacity:.35}.vxrp-cal-day small{font-size:9px}.vxrp-calendar-legend{display:flex;gap:15px;flex-wrap:wrap;margin:14px 0;font-size:11px}.vxrp-calendar-legend span{display:flex;gap:6px;align-items:center}.vxrp-calendar-agenda{border-top:1px solid #e4e4df;padding-top:16px}.vxrp-calendar-row{display:grid;grid-template-columns:100px 1fr auto auto auto;gap:12px;align-items:center;padding:12px;border-radius:12px;background:#F5F5F2;margin-bottom:8px;border-left:5px solid #d63638}.vxrp-calendar-row.is-goal{border-left-color:#2ecc40}.vxrp-calendar-row.is-income{border-left-color:#2374ab}.vxrp-calendar-row.is-transaction{border-left-color:#ff9d2e}.vxrp-calendar-row.is-paid{opacity:.68}.vxrp-calendar-row div{display:flex;flex-direction:column}.vxrp-calendar-row span,.vxrp-calendar-row time{font-size:11px;color:#555}.vxrp-calendar-day-modal .vxrp-calendar-row{grid-template-columns:100px 1fr auto auto auto}.vxrp-calendar-reschedule .vxrp-field{margin:20px 0}.vxrp-calendar-reschedule input{width:100%}
@media(max-width:760px){.vxrp-calendar{min-width:0}.vxrp-calendar-grid{display:none}.vxrp-calendar-head{align-items:flex-start;flex-direction:column}.vxrp-calendar-nav{width:100%}.vxrp-calendar-nav .vxrp-btn{flex:1}.vxrp-calendar-row,.vxrp-calendar-day-modal .vxrp-calendar-row{grid-template-columns:1fr}.vxrp-calendar-row .vxrp-btn{width:100%}.vxrp-calendar-agenda h3:after{content:' · agenda view';font-weight:400;font-size:12px}.vxrp-hero-actions{gap:6px}}

/* v1.4 recurring schedules */
.vxrp-schedule-field,.vxrp-reminder-field{display:flex;flex-direction:column;gap:5px;min-width:130px}.vxrp-schedule-field span,.vxrp-reminder-field span{font-size:12px;font-weight:700}.vxrp-repeat-badge{display:inline-flex;margin-top:5px;padding:3px 8px;border-radius:999px;background:#F5F5F2;font-size:11px;font-weight:700}.vxrp-upcoming-list article.is-soon{box-shadow:inset 4px 0 0 var(--vx-yellow)}
@media(max-width:760px){.vxrp-schedule-field,.vxrp-reminder-field{min-width:0;width:100%}}


/* v1.5.0 Reports */
.vxrp-reports{display:grid;gap:1rem}.vxrp-report-toolbar{display:flex;gap:.75rem;align-items:end;justify-content:space-between;flex-wrap:wrap;background:var(--vxrp-neutral,#F5F5F2);padding:1rem;border-radius:18px}.vxrp-report-toolbar label{display:grid;gap:.35rem;font-weight:700}.vxrp-report-toolbar select{min-width:190px;padding:.7rem .85rem;border:1px solid #d9d9d4;border-radius:12px;background:#fff}.vxrp-report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.vxrp-report-card{background:#fff;border:1px solid #ecece7;border-radius:18px;padding:1rem;box-shadow:0 8px 24px rgba(0,0,0,.05)}.vxrp-report-card span{display:block;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.vxrp-report-card strong{display:block;font-family:Poppins,Arial,sans-serif;font-size:1.45rem;margin-top:.35rem}.vxrp-report-card small{display:block;margin-top:.35rem;line-height:1.35}.vxrp-report-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}.vxrp-report-panel{background:#fff;border:1px solid #ecece7;border-radius:18px;padding:1rem}.vxrp-report-panel h3{margin:.1rem 0 1rem}.vxrp-accuracy-meter{height:14px;background:#F5F5F2;border-radius:999px;overflow:hidden}.vxrp-accuracy-meter i{display:block;height:100%;background:#2ecc40;border-radius:inherit}.vxrp-rank-list{display:grid;gap:.65rem}.vxrp-rank-row{display:grid;grid-template-columns:30px 1fr auto;gap:.7rem;align-items:center;padding:.7rem;background:#F5F5F2;border-radius:14px}.vxrp-rank-row b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ffdc00}.vxrp-rank-row span{font-weight:700}.vxrp-report-empty{padding:1.25rem;background:#F5F5F2;border-radius:16px;text-align:center}.vxrp-report-note{padding:.85rem 1rem;border-left:4px solid #2ecc40;background:#f7fff8;border-radius:10px}.vxrp-report-table{width:100%;border-collapse:collapse}.vxrp-report-table th,.vxrp-report-table td{text-align:left;padding:.65rem;border-bottom:1px solid #ecece7}.vxrp-report-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:760px){.vxrp-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.vxrp-report-grid{grid-template-columns:1fr}.vxrp-report-toolbar{align-items:stretch}.vxrp-report-toolbar label,.vxrp-report-toolbar select{width:100%}}

/* Reports expansion: trends, annual summaries and goal performance */
.vxrp-report-tabs{display:flex;gap:.4rem;flex-wrap:wrap;padding:.35rem;background:#F5F5F2;border-radius:15px}.vxrp-report-tabs button{border:0;background:transparent;padding:.65rem 1rem;border-radius:11px;font:700 .9rem Montserrat,Arial,sans-serif;cursor:pointer}.vxrp-report-tabs button.is-active{background:#000;color:#fff}.vxrp-report-toolbar>div{display:grid;gap:.2rem}.vxrp-report-toolbar small{display:block;line-height:1.35}.vxrp-trend-chart{display:grid;gap:.75rem}.vxrp-trend-row{display:grid;grid-template-columns:72px 1fr 48px;gap:.7rem;align-items:center}.vxrp-trend-row>span{font-weight:800}.vxrp-trend-row>div{display:grid;gap:.22rem}.vxrp-trend-row i{display:block;min-width:3px;height:8px;border-radius:999px}.vxrp-trend-row i.income,.vxrp-chart-legend i.income{background:#2ecc40}.vxrp-trend-row i.expense,.vxrp-chart-legend i.expense{background:#000}.vxrp-trend-row i.saving,.vxrp-chart-legend i.saving{background:#ffdc00}.vxrp-insight-list{display:grid;gap:.6rem}.vxrp-insight-list article{background:#F5F5F2;padding:.85rem;border-radius:13px;line-height:1.45}.vxrp-rank-row span small{display:block;font-weight:500;margin-top:.2rem}.vxrp-goal-report-list{display:grid;gap:.75rem}.vxrp-goal-report-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,2fr) minmax(150px,1fr);gap:1rem;align-items:center;background:#fff;border:1px solid #ecece7;border-radius:17px;padding:1rem}.vxrp-goal-report-row>div{display:grid;gap:.25rem}.vxrp-goal-report-row span,.vxrp-goal-report-row small{font-size:.82rem;line-height:1.4}.vxrp-goal-report-progress{height:12px!important;background:#F5F5F2;border-radius:999px;overflow:hidden}.vxrp-goal-report-progress i{display:block;height:100%;background:#2ecc40;border-radius:inherit}
@media(max-width:760px){.vxrp-report-tabs{display:grid;grid-template-columns:repeat(2,1fr)}.vxrp-trend-row{grid-template-columns:58px 1fr 42px}.vxrp-goal-report-row{grid-template-columns:1fr}.vxrp-goal-report-progress{order:3}}


/* v1.7.0 achievements and printable reports */
.vxrp-achievement-hero{display:grid;grid-template-columns:minmax(180px,auto) 1fr;gap:22px;align-items:center;background:linear-gradient(135deg,var(--vx-yellow,#ffdc00),#fff6a6);border:2px solid #000;border-radius:20px;padding:20px;margin:18px 0}
.vxrp-achievement-hero span,.vxrp-achievement-hero small{display:block}.vxrp-achievement-hero strong{font-size:2rem;display:block}.vxrp-achievement-meter{height:16px;background:#fff;border:2px solid #000;border-radius:999px;overflow:hidden}.vxrp-achievement-meter i{display:block;height:100%;background:var(--vx-green,#2ecc40);transition:width .5s ease}
.vxrp-achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vxrp-achievement{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:start;border:1px solid rgba(0,0,0,.15);border-radius:18px;padding:17px;background:#fff}.vxrp-achievement.is-earned{border:2px solid var(--vx-green,#2ecc40);box-shadow:0 7px 20px rgba(0,0,0,.06)}.vxrp-achievement.is-locked{background:var(--vx-neutral,#F5F5F2);opacity:.72}.vxrp-achievement-icon{font-size:2rem;line-height:1}.vxrp-achievement p{margin:.3rem 0 .5rem}.vxrp-achievement small{font-weight:700}.vxrp-achievement>b{font-size:1.1rem}
@media(max-width:700px){.vxrp-achievement-grid{grid-template-columns:1fr}.vxrp-achievement-hero{grid-template-columns:1fr}.vxrp-report-toolbar{align-items:stretch}.vxrp-report-toolbar .vxrp-btn{width:100%}}


/* v1.8.0 Cash Campus Intelligence */
.vxrp-intelligence{margin:26px 0}.vxrp-intelligence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.vxrp-intelligence-grid>article,.vxrp-intelligence-list article{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:18px;padding:16px}.vxrp-intelligence-grid>article>span,.vxrp-intelligence-list article>span{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#F5F5F2;font-weight:900}.vxrp-intelligence-grid article.is-positive{border-left:5px solid #2ecc40}.vxrp-intelligence-grid article.is-warning{border-left:5px solid #ffdc00}.vxrp-intelligence-grid article p,.vxrp-intelligence-list p{margin:.35rem 0 0;line-height:1.45}.vxrp-forgotten-card{grid-column:1/-1;justify-content:space-between;align-items:center!important;background:#F5F5F2!important}.vxrp-intelligence-modal{display:grid;gap:1rem}.vxrp-intelligence-list{display:grid;gap:.7rem}.vxrp-intelligence-list article.is-positive{background:#f4fff5}.vxrp-intelligence-list article.is-warning{background:#fffbea}.vxrp-forgotten-list{display:grid;gap:.65rem;margin-bottom:1rem}.vxrp-forgotten-list label{display:flex;gap:.75rem;align-items:flex-start;padding:.8rem;background:#F5F5F2;border-radius:13px;cursor:pointer}.vxrp-forgotten-list input{margin-top:.25rem}.vxrp-forgotten-list span,.vxrp-forgotten-list small{display:block}.vxrp-forgotten-list small{margin-top:.2rem;color:#555}.vxrp-report-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:900px){.vxrp-intelligence-grid{grid-template-columns:1fr 1fr}.vxrp-forgotten-card{grid-column:1/-1}.vxrp-report-tabs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.vxrp-intelligence-grid{grid-template-columns:1fr}.vxrp-forgotten-card{grid-column:auto;align-items:flex-start!important;flex-direction:column}.vxrp-report-tabs{grid-template-columns:repeat(2,1fr)}}


/* v1.9.0 Smart Action Centre */
.vxrp-action-centre{margin:26px 0;padding:20px;border:2px solid #000;border-radius:22px;background:linear-gradient(135deg,#fff,#F5F5F2)}.vxrp-action-centre .vxrp-section-title p{margin:.3rem 0 0}.vxrp-action-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.vxrp-action-summary article{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:16px;padding:15px}.vxrp-action-summary span{display:block;font-size:.78rem;font-weight:800;text-transform:uppercase}.vxrp-action-summary strong{display:block;font:700 1.8rem Poppins,Arial,sans-serif;margin-top:.25rem}.vxrp-action-modal{display:grid;gap:1rem}.vxrp-action-list{display:grid;gap:.65rem;margin-bottom:1rem}.vxrp-action-list label{display:flex;gap:.75rem;align-items:flex-start;padding:.9rem;border-radius:14px;background:#F5F5F2;border-left:5px solid #ffdc00;cursor:pointer}.vxrp-action-list label.is-positive{border-left-color:#2ecc40}.vxrp-action-list input{margin-top:.28rem}.vxrp-action-list span,.vxrp-action-list small,.vxrp-action-list em{display:block}.vxrp-action-list small{margin-top:.2rem;color:#555;line-height:1.4}.vxrp-action-list em{margin-top:.45rem;font-style:normal;font-weight:800}.vxrp-action-modal .vxrp-report-panel>.vxrp-btn{margin-top:.25rem}@media(max-width:620px){.vxrp-action-summary{grid-template-columns:1fr}.vxrp-action-centre .vxrp-section-title{align-items:flex-start;flex-direction:column}.vxrp-action-centre .vxrp-btn{width:100%}}


/* v1.9.4 save-state, validation and recovery polish */
.vxrp-save-status{position:fixed;right:20px;bottom:20px;z-index:100000;display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border-radius:999px;background:#000;color:#fff;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.vxrp-save-status>span:first-child{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#F5F5F2;color:#000}.vxrp-save-status.is-saved{background:#2ecc40;color:#000}.vxrp-save-status.is-saving{background:#ffdc00;color:#000}.vxrp-save-status.is-unsaved{background:#000}.vxrp-save-status.is-error{background:#8b1e1e}.vxrp-save-status.is-error>span:first-child{color:#8b1e1e}
.vxrp-field input:invalid,.vxrp-field select:invalid{border-color:#8b1e1e;box-shadow:0 0 0 2px rgba(139,30,30,.08)}
@media(max-width:620px){.vxrp-save-status{left:12px;right:12px;bottom:76px;justify-content:center}}

/* Feedback and engagement */
.vxrp-feedback-button{position:fixed;right:22px;bottom:92px;z-index:9997;border:0;border-radius:999px;background:var(--vx-black,#000);color:#fff;padding:11px 17px;font-family:Montserrat,sans-serif;font-weight:700;box-shadow:0 10px 28px rgba(0,0,0,.18);cursor:pointer;display:flex;align-items:center;gap:7px}.vxrp-feedback-button:hover,.vxrp-feedback-button:focus{background:var(--vx-green,#2ecc40);color:#000;transform:translateY(-2px)}.vxrp-feedback-modal[hidden]{display:none}.vxrp-feedback-modal{position:fixed;inset:0;z-index:10001;display:grid;place-items:center;padding:18px}.vxrp-feedback-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6)}.vxrp-feedback-dialog{position:relative;width:min(580px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;padding:28px;box-shadow:0 25px 70px rgba(0,0,0,.28)}.vxrp-feedback-close{position:absolute;right:14px;top:12px;border:0;background:#F5F5F2;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer}.vxrp-feedback-dialog textarea{resize:vertical;min-height:130px}.vxrp-feedback-privacy{background:#F5F5F2;border-radius:12px;padding:11px 13px;font-size:.88rem}.vxrp-feedback-button[hidden]{display:none!important}@media(max-width:600px){.vxrp-feedback-button{right:14px;bottom:78px;padding:10px 14px}.vxrp-feedback-dialog{padding:23px 18px;border-radius:18px}}

/* v2.1 corrections */
.vxrp-app{padding-top:8px}.vxrp-hero{display:block}.vxrp-hero-actions{margin:12px 0 4px;justify-content:flex-start;background:#fff;padding:10px;border-radius:18px;border:1px solid var(--vx-border)}.vxrp-tab.active{background:var(--vx-yellow)!important;color:#000!important}.vxrp-ad-slot:empty{display:none}.vxrp-ad-slot{margin:20px 0;text-align:center;overflow:hidden}.vxrp-feedback-wrap{position:fixed;right:22px;bottom:92px;z-index:9997;display:flex;align-items:center}.vxrp-feedback-wrap[hidden]{display:none!important}.vxrp-feedback-button{position:static}.vxrp-feedback-dismiss{margin-left:-8px;width:30px;height:30px;border-radius:50%;border:2px solid #fff;background:var(--vx-yellow);font-size:20px;font-weight:800}.vxrp-cal-day i{display:inline-block!important;opacity:1!important;visibility:visible!important}.vxrp-save-status{right:12px;bottom:12px;max-width:190px;font-size:11px;padding:7px 10px}.vxrp-backup-actions{display:grid;gap:12px}.vxrp-backup-actions .vxrp-btn{width:100%}@media(max-width:760px){.vxrp-app{padding:0 10px 18px;margin-top:-42px}.vxrp-hero-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px}.vxrp-hero-actions .vxrp-btn{font-size:10px;padding:8px 5px;min-height:40px}.vxrp-calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.vxrp-cal-day{min-height:44px;padding:3px;font-size:11px}.vxrp-feedback-wrap{right:12px;bottom:78px}.vxrp-save-status{left:auto;right:8px;bottom:8px;width:auto}.vxrp-tab{font-size:10px;padding:9px 11px}}
