:root{font-family:system-ui,sans-serif;line-height:1.6;color:#25352e;background:#f5f7f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.app-header{padding:32px 24px;background:#fff;border-right:1px solid #dce3dd}.brand{font-size:1.4rem;font-weight:700;margin:8px 0 32px}.navigation{display:flex;flex-direction:column;gap:8px}.navigation button{padding:12px 16px;border:1px solid transparent;border-radius:8px;text-align:left;background:transparent;color:inherit;cursor:pointer}.navigation button:hover{background:#eef3ee}.navigation button[aria-current=page]{background:#e0ece3;border-color:#a5bdaa;font-weight:700}:focus-visible{outline:3px solid #39754c;outline-offset:3px}main{width:100%;max-width:1040px;padding:40px;min-width:0}.project-label{margin:0 0 24px;color:#52665a;overflow-wrap:anywhere}.screen-panel{background:#fff;border:1px solid #dce3dd;border-radius:12px;padding:32px}.muted{color:#52665a}.error-message{background:#fff2e8;border:1px solid #d8ab88;padding:16px;border-radius:8px}.skip-link{position:absolute;left:16px;top:-100px;padding:8px;background:#fff}.skip-link:focus{top:8px}@media(max-width:640px){.app-shell{grid-template-columns:minmax(0,1fr);align-content:start}.app-header{padding:20px 16px;border-right:0;border-bottom:1px solid #dce3dd}.brand{margin-bottom:20px}.navigation{flex-direction:row}.navigation button{flex:1;text-align:center;padding:12px 8px}main{padding:24px 16px}.screen-panel{padding:24px 20px}}h1{margin:8px 0 24px;line-height:1.2}.version{color:#52665a;font-size:.875rem}.home-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dashboard-heading,.project-overview,.financial-card,.recent-notes{grid-column:1 / -1}.dashboard-heading h1{margin:0}.dashboard-heading p{margin:8px 0 0}.dashboard-card{padding:24px;min-width:0;background:#fff;border:1px solid #dce3dd;border-radius:12px;overflow-wrap:anywhere}.dashboard-card h2{font-size:1.1rem;margin:0 0 16px}.project-name{font-size:1.3rem;font-weight:700;margin:0 0 16px}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}.metrics dt{color:#52665a;font-size:.875rem}.metrics dd{margin:4px 0 0;font-weight:600;font-variant-numeric:tabular-nums}.financial-card{border-color:#a5bdaa;border-top:4px solid #39754c}.financial-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.buffer-highlight{background:#eef5ef;border-radius:8px;padding:20px;margin:20px 0}.buffer-highlight span,.buffer-highlight strong{display:block}.buffer-highlight strong{font-size:clamp(1.8rem,4vw,2.5rem);font-variant-numeric:tabular-nums}.negative{color:#a13224}.calculation-note{color:#52665a;font-size:.875rem;margin-bottom:0}.progress-value{font-size:2rem;font-weight:700;margin:0 0 8px}progress{width:100%;height:14px;accent-color:#39754c}.dashboard-list{margin:0;padding-left:20px}.dashboard-list li+li{border-top:1px solid #dce3dd;padding-top:12px;margin-top:12px}.dashboard-list p{margin:6px 0 0}.dashboard-list .muted{font-size:.875rem}.memo-text{white-space:pre-wrap}.move-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.move-screen button{padding:10px 16px;border:1px solid #a5bdaa;border-radius:8px;background:#fff;color:inherit;cursor:pointer}.move-tabs button[aria-current=page]{background:#e0ece3;font-weight:700}.move-screen .primary-button{background:#39754c;border-color:#39754c;color:#fff}.move-screen button:hover{filter:brightness(.95)}.move-screen button:disabled{opacity:.5;cursor:default}.move-toolbar,.item-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.move-toolbar h2,.item-heading h3{margin:0}.move-list{display:grid;gap:16px}.move-editor{margin:0 0 24px}.move-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.move-editor label{display:flex;flex-direction:column;gap:6px;font-size:.875rem}.move-editor input,.move-editor select,.move-editor textarea{width:100%;min-width:0;padding:10px;border:1px solid #a5bdaa;border-radius:6px;font:inherit;font-size:1rem;background:#fff;color:inherit}.move-editor textarea{resize:vertical}.form-details summary{cursor:pointer;padding:8px 0 16px}.item-badge{font-size:.875rem;border-radius:6px;background:#eef3ee;padding:4px 8px}.item-heading{margin-bottom:16px}.note-preview{white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.save-message{color:#39754c;min-height:1.6em}.task-controls label{display:flex;flex-direction:column;gap:6px}.task-controls select{width:100%;min-width:0;padding:10px;border:1px solid #a5bdaa;border-radius:6px;font:inherit;background:#fff;color:inherit}.backup-panel{margin-bottom:24px;padding:12px 16px;border:1px solid #dce3dd;border-radius:8px;background:#fff}.backup-panel summary{cursor:pointer}.backup-panel button{padding:10px 16px;border:1px solid #a5bdaa;border-radius:8px;background:#fff;color:inherit;cursor:pointer}.backup-panel button:disabled{opacity:.5;cursor:default}.cloud-status-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.cloud-status-bar p{flex:1;min-width:180px;margin:0;overflow-wrap:anywhere}.cloud-panel button,.pwa-update button{min-height:44px}.cloud-panel .move-form{display:grid;gap:12px}.cloud-panel .move-form label{display:grid;gap:6px}.cloud-panel .move-form input{width:100%;min-width:0;padding:10px;font:inherit;font-size:16px}.pwa-update{margin-bottom:16px;padding:16px;border:1px solid #a5bdaa;border-radius:8px;background:#eef3ee}.pwa-update button{padding:10px 16px;border:1px solid #a5bdaa;border-radius:8px;background:#fff;color:inherit}@media(max-width:640px){.cloud-status-bar button{width:100%}.cloud-panel{overflow-wrap:anywhere}}.backup-restore{border-top:1px solid #dce3dd;padding-top:16px;margin-top:20px;overflow-wrap:anywhere}.backup-restore label{display:flex;flex-direction:column;gap:8px}.backup-restore input{max-width:100%}.backup-counts{width:100%;border-collapse:collapse;margin:16px 0}.backup-counts caption{text-align:left;margin-bottom:8px}.backup-counts th,.backup-counts td{text-align:left;padding:8px;border-bottom:1px solid #dce3dd}.task-done{background:#f0f4f0}.task-done h3{text-decoration:line-through}.wishlist-total{margin:0 0 20px}.money-screen>.financial-card{margin:24px 0}.money-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.money-current{grid-column:1 / -1}.money-form label{display:flex;flex-direction:column;gap:6px;font-size:.875rem}.money-form input{width:100%;min-width:0;padding:10px;border:1px solid #a5bdaa;border-radius:6px;font:inherit;font-size:1rem;color:inherit;background:#fff}.money-results{margin-top:20px}.monthly-money{display:grid;gap:20px;margin-top:24px}.monthly-money button{padding:10px 16px;border:1px solid #a5bdaa;border-radius:8px;background:#fff;color:inherit;cursor:pointer}.monthly-money .money-save button{background:#39754c;color:#fff}.money-entry{min-width:0;padding:16px;border:1px solid #dce3dd;border-radius:8px;margin:16px 0}.money-entry legend{max-width:100%;overflow-wrap:anywhere}.money-form select{width:100%;min-width:0;padding:10px;border:1px solid #a5bdaa;border-radius:6px;font:inherit;background:#fff;color:inherit}.money-form .check-label{flex-direction:row;align-items:center;margin:12px 0}.money-form .check-label input{width:auto}.month-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.month-navigation h2{margin:0}.monthly-money summary{cursor:pointer}.money-save{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.money-save button{padding:10px 24px;border:1px solid #39754c;border-radius:8px;background:#39754c;color:#fff;cursor:pointer}.money-save button:hover{background:#2c5b3b}.quick-add-trigger{display:block;width:100%;margin-top:24px;padding:12px 16px;background:#39754c;color:#fff;border:1px solid #39754c;border-radius:8px;cursor:pointer;font-weight:600}.quick-add-feedback{color:#39754c;font-size:.875rem;overflow-wrap:anywhere}.quick-add-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px;border:1px solid #a5bdaa;border-radius:12px;color:#25352e;background:#fff}.quick-add-dialog::backdrop{background:#14231966}.quick-add-dialog h2,.quick-add-dialog h3{margin:0}.quick-add-dialog .item-heading{margin-bottom:12px}.quick-add-dialog button{padding:10px 16px;min-height:44px;background:#fff;color:inherit;border:1px solid #a5bdaa;border-radius:8px;cursor:pointer}.quick-add-dialog .primary-button{background:#39754c;border-color:#39754c;color:#fff}.capture-kinds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.capture-fields{display:grid;gap:14px;margin-top:16px}.capture-fields label{display:flex;flex-direction:column;gap:6px;font-size:.875rem}.capture-fields input,.capture-fields select,.capture-fields textarea{width:100%;min-width:0;padding:10px;border:1px solid #a5bdaa;border-radius:6px;font:inherit;font-size:1rem;color:inherit;background:#fff}.capture-fields textarea{resize:vertical}.capture-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}@media(max-width:640px){.form-grid{grid-template-columns:minmax(0,1fr)}.move-tabs button{flex:1;padding:10px 8px}}@media(max-width:900px){.home-dashboard,.money-cards{grid-template-columns:minmax(0,1fr)}.financial-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.dashboard-card{padding:20px}.financial-metrics{grid-template-columns:minmax(0,1fr)}}
