.zen-plans-surface{padding:22px 24px 18px;background:var(--surface-2);border-radius:24px}.zen-plans-toolbar{display:flex;align-items:center;gap:12px}.zen-plans-toolbar h2{margin:0 auto 0 0;font-size:27px}.zen-plans-toolbar select{max-width:90px;padding:8px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--text)}.zen-plans-period{display:flex;align-items:center;gap:7px}.zen-plans-period button{border:0;background:transparent;color:var(--muted);font-size:28px}.zen-plans-period strong{min-width:140px;text-align:center;text-transform:capitalize;font-size:15px;font-weight:500}.zen-plans-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:34px 0 16px}.zen-plans-totals>div{display:grid;gap:5px}.zen-plans-totals small{color:var(--muted)}.zen-plans-totals strong{font-size:28px;font-weight:550;font-variant-numeric:tabular-nums}.zen-plans-totals .income strong{color:var(--green)}.zen-plans-totals .remaining strong{color:#58a9d4}.zen-plans-surface svg{display:block;width:100%;height:auto;margin:12px 0 8px}.zen-plans-legend{margin:10px 0;color:var(--muted);font-size:14px}.zen-plans-note{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.5}@media(max-width:760px){.zen-plans-surface{padding:20px 15px;border-radius:0}.zen-plans-toolbar{flex-wrap:wrap}.zen-plans-toolbar h2{width:100%;font-size:23px}.zen-plans-period{margin-left:auto}.zen-plans-period strong{min-width:110px}.zen-plans-totals{gap:9px;margin-top:25px}.zen-plans-totals small{font-size:11px}.zen-plans-totals strong{font-size:18px}}
.zen-plans-surface{padding:0 0 24px;background:var(--surface);border-radius:22px;overflow:hidden}
.zen-plans-toolbar{min-height:108px;padding:22px 26px;background:var(--surface-2)}
.zen-plans-toolbar h2{font-size:26px}
.zen-plans-calendar{padding:9px 15px;border:1px solid var(--line);border-radius:100px;background:var(--card);font-size:16px}
.zen-plans-settings{border:0;background:transparent;color:var(--text);font-size:29px}
.zen-plans-controls{display:flex;align-items:center;gap:14px;padding:20px 24px}
.zen-plans-mode{margin-right:auto;padding:10px 18px;border:1px solid var(--line);border-radius:100px;background:var(--surface);color:var(--text);font-size:16px}
.zen-plans-controls select{max-width:90px;padding:9px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);color:var(--text)}
.zen-plans-period{margin:0}.zen-plans-period strong{min-width:110px;font-size:17px}
.zen-plans-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:12px 24px 18px}
.zen-plans-totals>div:last-child{text-align:right}
.zen-plans-totals small{font-size:15px}
.zen-plans-totals strong{font-size:33px}
.zen-plans-surface svg{height:235px;margin:8px 0 20px}
.zen-plans-legend{margin:0 24px 18px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--text);font-size:16px}
.zen-plans-legend strong{font-size:18px}.zen-plans-legend p{display:flex;align-items:center;gap:14px;margin:14px 0 0}
.zen-plans-legend i{display:block;width:32px;height:0;border-top:3px solid var(--green)}
.zen-plans-legend i.spending{border-color:var(--text)}.zen-plans-legend i.forecast{border-color:var(--green);border-top-style:dashed}.zen-plans-legend i.budget{border-color:#58a9d4;border-top-style:dashed}
.zen-plans-note{margin:0 24px 24px;font-size:12px}
.zen-plans-section{border-top:1px solid var(--line)}
.zen-plans-section summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px;cursor:pointer;list-style:none}
.zen-plans-section summary::-webkit-details-marker{display:none}
.zen-plans-section summary strong{font-size:18px}.zen-plans-section summary strong::after{content:' ⌄';color:var(--muted)}
.zen-plans-section summary b{color:var(--green);font-size:19px}.zen-plans-section+ .zen-plans-section summary b{color:var(--text)}
.zen-plans-section>div{display:flex;justify-content:space-between;gap:20px;margin:0 24px;padding:12px 0;border-top:1px solid var(--line)}
.zen-plans-section>.zen-plans-category-row{align-items:center}.zen-plans-category-label{display:flex;align-items:center;gap:12px;min-width:0}.zen-plans-category-label .category-appearance-icon{flex:none}
.zen-plans-section>p{margin:0 24px 20px;color:var(--muted)}
@media(max-width:760px){.zen-plans-surface{margin:0 -12px;border-radius:0}.zen-plans-toolbar{flex-wrap:nowrap;min-height:105px;padding:18px}.zen-plans-toolbar h2{width:auto;font-size:22px}.zen-plans-controls{flex-wrap:wrap;padding:18px}.zen-plans-controls select{order:3;margin-left:auto}.zen-plans-period{margin-left:0}.zen-plans-totals{margin:10px 18px 18px}.zen-plans-totals small{font-size:13px}.zen-plans-totals strong{font-size:28px}.zen-plans-surface svg{height:215px}.zen-plans-legend{margin:0 18px 18px}.zen-plans-note{margin:0 18px 18px}}
.zen-plans-toolbar{min-height:86px}
.zen-plans-controls{padding-top:12px;padding-bottom:12px}
.zen-plans-totals{margin-top:8px;margin-bottom:8px}
.zen-plans-surface svg{height:190px;margin:4px 0 8px}
.zen-plans-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 24px 6px;padding:0;border:0;background:transparent;color:var(--muted);font-size:12px}
.zen-plans-legend p{gap:6px;margin:0;white-space:nowrap}
.zen-plans-legend i{width:20px;border-top-width:2px}
.zen-plans-note{margin-bottom:10px}
.zen-plans-import{margin:0 24px 12px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.zen-plans-import>strong{font-size:16px}.zen-plans-import p{margin:4px 0 10px;color:var(--muted);font-size:12px}
.zen-plans-import>div{display:flex;flex-wrap:wrap;gap:8px}.zen-plans-import button{padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer}
@media(max-width:760px){.zen-plans-toolbar{min-height:84px}.zen-plans-controls{padding:12px 18px}.zen-plans-totals{margin:6px 18px 8px}.zen-plans-surface svg{height:184px}.zen-plans-legend{margin:0 18px 6px;gap:6px 12px}.zen-plans-note{margin:0 18px 10px}}
@media(max-width:760px){.zen-plans-import{margin:0 18px 12px}}
