.pg-v2{color:#173a56;text-align:start;min-width:0}.pg-v2 [hidden],.pg-dialog [hidden]{display:none!important}
.pg-v2 button,.pg-dialog button{font:inherit;font-size:14px;cursor:pointer;min-height:44px;border:1px solid #bcd4e4;border-radius:10px;background:#fff;color:#195879;padding:9px 15px;line-height:1.4}
.pg-v2 button:hover,.pg-dialog button:hover{background:#edf7fc}.pg-v2 button:disabled,.pg-dialog button:disabled{opacity:.5;cursor:not-allowed}
.pg-v2 .pg-primary,.pg-dialog .pg-primary{background:#087fb9;color:#fff;border-color:#087fb9}.pg-v2 .pg-danger,.pg-dialog .pg-danger{color:#a33333;border-color:#dfbbbb}
.pg-v2 :is(button,summary,input):focus-visible,.pg-dialog :is(button,input,textarea):focus-visible{outline:3px solid #efa639;outline-offset:3px}
.pg-v2 .pg-intro{display:flex;align-items:flex-start;gap:16px;background:linear-gradient(120deg,#edf7fc,#f7fcff);border:1px solid #d1e6f2;border-radius:20px;padding:22px;margin-bottom:20px}.pg-intro>.pg-icon{width:36px;height:36px;flex:none;color:#087fb9}.pg-intro h3{font-size:19px;margin:0 0 8px}.pg-intro p{font-size:13px;line-height:1.75;color:#516d82;margin:0}
.pg-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}
.pg-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0}.pg-count{margin-inline-end:auto;color:#5b7489;font-size:13px;direction:ltr}
.pg-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.pg-summary>div{padding:18px;background:#f2f8fc;border:1px solid #d9e8f2;border-radius:15px;min-width:0}.pg-summary span{display:block;color:#5a7287;font-size:13px}.pg-summary strong{display:block;color:#193f5c;font-size:24px;margin-top:6px;overflow-wrap:anywhere}
.pg-goal{--goal:#087fb9;--tint:#edf8fe;border:1px solid #d2e2ee;border-inline-start:4px solid var(--goal);border-radius:17px;overflow:hidden;margin:15px 0;background:#fff;box-shadow:0 4px 16px #163b5707}
.pg-goal.tone-study{--goal:#7752ae;--tint:#f5f0fc}.pg-goal.tone-home{--goal:#168473;--tint:#ebf9f5}.pg-goal.tone-car{--goal:#2374b7;--tint:#edf5fc}.pg-goal.tone-travel{--goal:#b07213;--tint:#fff8e9}.pg-goal.tone-family{--goal:#b45476;--tint:#fdf0f5}.pg-goal.tone-other{--goal:#577586;--tint:#f1f6f8}
.pg-goal>summary{display:grid;grid-template-columns:50px minmax(0,1fr) auto 22px;gap:10px 14px;align-items:center;padding:20px 22px;cursor:pointer;list-style:none;background:linear-gradient(110deg,var(--tint),#fff)}.pg-goal>summary::-webkit-details-marker{display:none}.pg-goal>summary:after{content:'＋';grid-column:4;grid-row:1;color:var(--goal);font-size:20px}.pg-goal[open]>summary:after{content:'−'}
.pg-stamp{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--tint);color:var(--goal);border:1px solid color-mix(in srgb,var(--goal) 22%,white)}.pg-stamp .pg-icon{width:29px;height:29px}.pg-title-box{min-width:0}.pg-name{display:block;font-size:20px;overflow-wrap:anywhere}.pg-mini{display:inline-block;font-size:13px;color:#5c7588;margin-top:4px}.pg-priority{font-size:11px;color:#916411;background:#fff5d6;border-radius:12px;padding:3px 8px;margin-inline-start:8px;white-space:nowrap}
.pg-head-monthly{text-align:end;min-width:110px}.pg-head-monthly small{display:block;font-size:12px;color:#5d768a}.pg-head-monthly strong{font-size:21px;color:#1a4d6c;display:block;margin-top:3px}
.pg-head-progress{grid-column:2/4;display:flex;align-items:center;gap:14px;min-width:0}.pg-head-percent{font-size:12px;color:#526f84;white-space:nowrap}.pg-head-progress progress{appearance:none;min-width:40px;flex:1;width:100%;height:8px;overflow:hidden;border:0;border-radius:20px;background:#dfeaf1;color:var(--goal);accent-color:var(--goal)}.pg-head-progress progress::-webkit-progress-bar{background:#dfeaf1;border-radius:20px}.pg-head-progress progress::-webkit-progress-value{background:var(--goal);border-radius:20px}.pg-head-progress progress::-moz-progress-bar{background:var(--goal);border-radius:20px}
.pg-content{padding:20px 22px;border-top:1px solid #dfebf3}.pg-card-actions{display:flex;gap:8px;flex-wrap:wrap}.pg-updated{font-size:12px;color:#647d8e;margin:13px 0}.pg-warning{background:#fff7df;color:#7b5a17;border-radius:10px;padding:12px;font-size:13px;line-height:1.6}
.pg-plan-grid{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.4fr);gap:20px;align-items:start;margin:18px 0}.pg-result{background:linear-gradient(140deg,#087fbc,#0b6297);color:#fff;border-radius:15px;padding:20px}.pg-result h4{font-size:18px;margin:0 0 12px}.pg-result dl{margin:0}.pg-result dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid #ffffff30}.pg-result dt{font-size:13px}.pg-result dd{font-size:22px;font-weight:700;margin:0}.pg-result p{font-size:12px;line-height:1.7;margin-bottom:0}
.pg-chart{background:#f8fbfd;border:1px solid #dceaf3;border-radius:15px;padding:16px;min-width:0}.pg-chart h4{margin:0;font-size:17px}.pg-chart svg{width:100%;height:auto;display:block;direction:ltr}.pg-chart svg text{font-size:12px;fill:#5c7487}.pg-chart-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px}.pg-chart-legend span:before{content:'';display:inline-block;width:14px;height:3px;background:#087fbc;vertical-align:middle;margin-inline-end:5px}.pg-chart-legend .paid:before{background:#889fb0}.pg-chart-legend .target:before{background:#d78718}.pg-chart-facts{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:#526b80}
.pg-history{border-top:1px solid #e1ebf1;padding:14px 0}.pg-history summary,.pg-archive>summary{cursor:pointer;color:#245976;font-size:14px;font-weight:600;min-height:32px}.pg-history table{width:100%;max-width:520px;border-collapse:collapse;font-size:13px;margin-top:12px}.pg-history :is(td,th){padding:8px;border-bottom:1px solid #e0ebf3;text-align:start}.pg-card-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:14px;border-top:1px solid #e1ebf1}.pg-archive{margin:25px 0;background:#f6f9fb;border:1px solid #dce6ec;border-radius:14px;padding:16px}
.pg-gate,.pg-empty{padding:30px;background:#f5faff;border:1px dashed #99bfd6;border-radius:17px;text-align:center}.pg-gate p{font-size:18px;font-weight:600}.pg-notes{font-size:12px;line-height:1.8;color:#536e83}.pg-status{font-size:13px;color:#325b74;min-height:22px;line-height:1.6}.pg-error{font-size:13px;line-height:1.7;color:#a52d2d}
.pg-dialog{font-family:inherit;color:#173c59;width:min(760px,calc(100vw - 32px));box-sizing:border-box;max-height:90dvh;overflow:auto;border:1px solid #c4dce9;border-radius:20px;padding:24px;box-shadow:0 25px 100px #12334d40}.pg-dialog::backdrop{background:#10283f80;backdrop-filter:blur(3px)}.pg-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.pg-dialog-heading h3{font-size:23px;margin:0}.pg-dialog .pg-close{font-size:24px;padding:4px 12px}.pg-dialog p{line-height:1.7}.pg-steps{display:flex;gap:7px;margin-bottom:22px}.pg-steps span{flex:1;background:#f0f5f8;border-radius:9px;padding:10px;font-size:13px;color:#607b8e}.pg-steps .is-current{background:#e2f2fc;color:#075b89;font-weight:700;box-shadow:inset 0 -3px #087fb9}
.pg-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pg-fields label{font-size:14px;font-weight:600;display:flex;flex-direction:column;gap:7px;min-width:0}.pg-wide{grid-column:1/-1}.pg-dialog :is(input,textarea){font:inherit;font-size:16px;color:#193f5a;border:1px solid #b2ccdd;border-radius:10px;background:#fff;padding:12px;min-height:46px;width:100%;box-sizing:border-box}.pg-dialog input[type=number]{direction:ltr;text-align:start}.pg-dialog textarea{resize:vertical}.pg-dialog input:disabled{background:#eff3f5}.pg-icon-picker,.pg-payment{grid-column:1/-1;border:0;padding:0;margin:0 0 16px;min-width:0}.pg-icon-picker legend,.pg-payment legend{font-size:14px;font-weight:600;margin-bottom:10px}.pg-icon-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.pg-icon-options button{display:flex;align-items:center;justify-content:center;gap:8px}.pg-icon-options button[aria-pressed=true],.pg-payment-options button[aria-pressed=true]{color:#075c89;background:#e6f4fc;border-color:#087fb9;box-shadow:inset 0 0 0 1px #087fb9}.pg-payment-options{display:flex;gap:8px;flex-wrap:wrap}.pg-payment-options button{flex:1;min-width:125px}.pg-dialog-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.pg-preview{margin-top:16px}.pg-preview .pg-result dl{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.pg-scenario{background:#f2f8fc;border:1px solid #d5e5f0;border-radius:12px;padding:16px;margin:18px 0}.pg-scenario>div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;flex-wrap:wrap}.pg-scenario span{font-size:13px}.pg-scenario strong{font-size:17px}
@media(max-width:900px){.pg-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-plan-grid{grid-template-columns:1fr}.pg-head-progress{flex-wrap:wrap;gap:7px}.pg-head-progress progress{flex-basis:100%}}
@media(max-width:560px){.pg-v2 .pg-intro{padding:16px}.pg-intro h3{font-size:16px}.pg-intro>.pg-icon{display:none}.pg-summary{gap:8px}.pg-summary>div{padding:12px}.pg-summary strong{font-size:19px}.pg-summary span{font-size:11px}.pg-goal>summary{grid-template-columns:38px minmax(0,1fr) 18px;padding:16px 12px;gap:9px}.pg-goal>summary:after{grid-column:3}.pg-stamp{width:36px;height:36px;border-radius:11px}.pg-stamp .pg-icon{width:24px;height:24px}.pg-head-monthly{grid-column:2;grid-row:2;text-align:start;display:flex;align-items:baseline;gap:8px}.pg-head-monthly strong{font-size:17px}.pg-head-progress{grid-column:1/-1}.pg-name{font-size:17px}.pg-mini{font-size:12px}.pg-content{padding:15px 12px}.pg-card-actions button{flex:1;min-width:120px}.pg-toolbar{gap:8px}.pg-toolbar button{padding:9px 12px}.pg-count{margin-inline-end:0}.pg-dialog{padding:18px 14px}.pg-dialog-heading h3{font-size:20px}.pg-fields{grid-template-columns:1fr}.pg-steps{gap:5px}.pg-steps span{font-size:11px;padding:8px 5px}.pg-icon-options{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-preview .pg-result dl{grid-template-columns:1fr}.pg-head-percent{white-space:normal}.pg-steps .is-current{box-shadow:inset 0 -2px #087fb9}}
@media(prefers-reduced-motion:reduce){.pg-v2 *,.pg-dialog *{scroll-behavior:auto!important;transition:none!important}}
