:root{color:#26362c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;font-size:18px;line-height:1.5}button,input,textarea,select{font:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.dashboard{width:min(1120px,100% - 40px);margin:0 auto;padding:48px 0 72px}.page-header,.month-selector,.notice,.receipt-card,.section-heading{justify-content:space-between;align-items:center;display:flex}.page-header{gap:24px;margin-bottom:36px}.header-actions{align-items:center;gap:14px;display:flex}.eyebrow{color:#276749;margin:0 0 4px;font-size:1rem;font-weight:700}h1{color:#17231c;margin:0;font-size:clamp(2rem,5vw,3rem);line-height:1.1}button{min-height:48px;font:inherit;cursor:pointer;border:2px solid #0000;border-radius:10px;padding:10px 18px;font-weight:700}button:focus-visible{outline-offset:3px;outline:4px solid #f6c453}button:disabled{cursor:not-allowed;opacity:.65}.primary-button,.received-button{color:#fff;background:#216e4e}.primary-button{min-height:56px}.primary-button:hover,.received-button:hover{background:#18563d}.sign-out-button{color:#526158;text-underline-offset:4px;background:0 0;border:0;min-height:48px;padding-inline:8px;text-decoration:underline}.sign-out-button:hover{color:#17231c}.auth-page{place-items:center;min-height:100vh;padding:28px 16px;display:grid}.auth-card{background:#fff;border:1px solid #d6ded9;border-radius:18px;width:min(100%,540px);padding:36px;box-shadow:0 8px 30px #1f36291a}.auth-card h1{margin-bottom:18px}.auth-introduction,.auth-help{color:#526158;margin:0 0 24px}.auth-form{gap:22px;display:grid}.auth-full-button{width:100%;min-height:58px}.auth-error{color:#702525;background:#fff0f0;border:2px solid #c47878;border-radius:10px;margin-bottom:20px;padding:14px 16px;font-weight:700}.auth-confirmation{color:#18563d;background:#eaf7f0;border:2px solid #85bea2;border-radius:12px;margin:8px 0 20px;padding:20px}.auth-confirmation p{margin:0}.auth-confirmation p+p{margin-top:8px}.auth-loading{color:#26362c;font-size:1.3rem;font-weight:700}.save-status{color:#526158;text-align:right;margin:-22px 0 20px;font-weight:700}.offline-notice{color:#51400d;background:#fff8df;border:2px solid #d3af4b;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;padding:18px;font-weight:700;display:flex}.pwa-update-prompt{z-index:10;color:#26362c;background:#fff;border:2px solid #8cab9b;border-radius:14px;width:min(420px,100% - 40px);padding:18px;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 30px #1f36292e}.pwa-update-prompt p{margin:0 0 14px;font-weight:700}.pwa-update-actions{flex-wrap:wrap;gap:10px;display:flex}.pwa-update-actions button{flex:1}.migration-card h1{margin-bottom:18px}.migration-help{color:#526158;margin:-10px 0 24px}.migration-actions{gap:12px;display:grid}.migration-actions button{width:100%;min-height:58px}.migration-confirmation{background:#fff8df;border:2px solid #d3af4b;border-radius:12px;padding:20px}.migration-confirmation h2{color:#17231c;margin:0 0 10px;font-size:1.35rem}.migration-confirmation p{color:#51400d;margin:0 0 18px}.form-panel{background:#fff;border:2px solid #8cab9b;border-radius:16px;margin-bottom:28px;padding:26px}.form-panel h2{color:#17231c;margin:0 0 22px;font-size:1.65rem}.form-panel form{grid-template-columns:1fr 1fr;gap:20px;display:grid}.full-field{grid-column:1/-1}.field{flex-direction:column;gap:7px;display:flex}.field label,.date-picker>span,.fixed-date>span,.status-field legend,.repeat-field legend{color:#26362c;font-weight:700}.field input{color:#17231c;background:#fff;border:2px solid #83968a;border-radius:10px;width:100%;min-height:54px;padding:10px 12px}.field input:focus{outline-offset:2px;border-color:#216e4e;outline:4px solid #f6c453}.date-trigger{color:#17231c;text-align:left;background:#fff;border-color:#83968a;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:54px;display:flex}.date-trigger span{color:#276749;font-size:.9rem}.calendar-dialog{color:#26362c;background:#fff;border:0;border-radius:18px;width:min(680px,100% - 28px);max-height:calc(100dvh - 28px);margin:auto;padding:0;box-shadow:0 24px 70px #0f1e1559}.calendar-dialog::backdrop{background:#111f17ad}.calendar-content{padding:30px}.calendar-content h2{color:#17231c;text-align:center;margin:0 0 24px;font-size:1.8rem}.calendar-navigation{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-bottom:22px;display:grid}.calendar-navigation button{color:#1c513a;background:#fff;border-color:#8cab9b}.calendar-navigation button:last-child{justify-self:end}.calendar-navigation strong{color:#17231c;text-align:center;text-transform:capitalize;min-width:180px;font-size:1.35rem}.calendar-grid{grid-template-columns:repeat(7,minmax(54px,1fr));gap:7px;display:grid}.week-day{color:#526158;text-align:center;padding:5px 0 9px;font-weight:800}.calendar-day{color:#17231c;background:#f1f5f2;border-color:#0000;min-width:54px;min-height:58px;padding:6px;font-size:1.15rem}.calendar-day:hover{background:#e6f0e9;border-color:#70917e}.calendar-day.selected-day{color:#fff;background:#216e4e;border-color:#174c35;box-shadow:inset 0 0 0 2px #fff}.calendar-day.selected-day:hover{background:#18563d}.calendar-selection{color:#35443b;text-align:center;margin:22px 0 18px}.calendar-selection strong{color:#17231c}.calendar-actions{justify-content:center;gap:12px;display:flex}.status-field,.repeat-field{border:0;flex-wrap:wrap;gap:12px;margin:0;padding:0;display:flex}.status-field legend,.repeat-field legend{width:100%;margin-bottom:8px}.status-field label,.repeat-field label{cursor:pointer;border:1px solid #bdc9c1;border-radius:10px;align-items:center;gap:9px;min-height:52px;padding:6px 14px;display:flex}:is(.status-field label:has(input:checked),.repeat-field label:has(input:checked)){background:#eaf7f0;border-color:#216e4e}.status-field input,.repeat-field input{accent-color:#216e4e;width:22px;height:22px;margin:0}.fixed-date{background:#f5f7f5;border:2px solid #bdc9c1;border-radius:10px;justify-content:center;min-height:54px;padding:10px 12px}.fixed-date strong{color:#17231c;font-size:1.15rem}.fixed-date small{color:#526158}.form-actions{gap:12px;display:flex}.secondary-button{color:#234d38;background:#fff;border-color:#70917e}.secondary-button:hover{background:#edf5f0}.month-selector{background:#fff;border:1px solid #d6ded9;border-radius:14px;gap:20px;padding:18px 22px}.month-selector h2{color:#17231c;text-align:center;text-transform:capitalize;margin:0;font-size:1.5rem}.month-button{color:#1c513a;background:#fff;border-color:#8cab9b}.month-button:hover{background:#edf5f0}.notice{color:#51400d;background:#fff8db;border:1px solid #e6c35d;border-radius:10px;gap:16px;margin-top:18px;padding:14px 18px}.notice button{color:#51400d;background:0 0;border-color:#b6922a;min-height:44px}.summary{grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0 44px;display:grid}.summary-card{border:2px solid;border-radius:16px;padding:24px}.summary-card p{color:#35443b;margin:0 0 10px;font-weight:700}.summary-card strong{color:#17231c;font-size:clamp(1.65rem,4vw,2.25rem);line-height:1.2;display:block}.received-card{background:#eaf7f0;border-color:#85bea2}.pending-card{background:#fff8df;border-color:#e3c264}.total-card{background:#eef4fb;border-color:#8fa9cb}.receipts-section{padding-top:4px}.section-heading{margin-bottom:18px}.section-heading h2{color:#17231c;margin:0 0 4px;font-size:1.65rem}.section-heading p,.empty-state p{color:#59685f;margin:0}.receipt-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.receipt-card{background:#fff;border:1px solid #d6ded9;border-radius:14px;gap:24px;padding:22px 24px;box-shadow:0 2px 8px #1f36290f}.receipt-info h3{color:#17231c;margin:9px 0 4px;font-size:1.25rem}.receipt-info p{color:#526158;margin:0}.receipt-labels{flex-wrap:wrap;gap:8px;display:flex}.status{border-radius:999px;padding:4px 11px;font-size:.9rem;font-weight:800;display:inline-block}.status-received{color:#16583b;background:#d9f2e5}.status-pending{color:#6b5109;background:#fff0b8}.recurrence-label{color:#284b72;background:#e5effb;border-radius:999px;padding:4px 11px;font-size:.9rem;font-weight:800;display:inline-block}.receipt-action{flex-direction:column;align-items:flex-end;gap:12px;min-width:260px;display:flex}.receipt-action strong{color:#17231c;font-size:1.4rem}.receipt-buttons{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.delete-button,.danger-button{color:#8c2929;background:#fff;border-color:#c47878}.delete-button:hover{background:#fff0f0}.danger-button{color:#fff;background:#a13232}.danger-button:hover{background:#812424}.delete-confirmation{background:#fff7f7;border:2px solid #c47878;border-radius:10px;width:100%;padding:14px}.delete-confirmation p{color:#692121;margin:0 0 12px;font-weight:800}.delete-confirmation small{color:#692121;margin-bottom:8px;display:block}.delete-confirmation button{width:100%;margin-top:8px}.empty-state{text-align:center;background:#fff;border:2px dashed #bdc9c1;border-radius:14px;padding:48px 24px}.empty-state h3{color:#17231c;margin:0 0 8px;font-size:1.3rem}@media (width<=760px){.dashboard{width:min(100% - 28px,600px);padding:28px 0 48px}.page-header,.receipt-card{flex-direction:column;align-items:stretch}.page-header{margin-bottom:26px}.header-actions{flex-direction:column;align-items:stretch}.primary-button,.received-button{width:100%}.auth-card{padding:28px 20px}.save-status{text-align:left;margin-top:-14px}.offline-notice{flex-direction:column;align-items:stretch}.pwa-update-prompt{width:calc(100% - 28px);bottom:14px;right:14px}.form-panel{padding:20px}.form-panel form{grid-template-columns:1fr}.full-field{grid-column:1}.status-field,.repeat-field,.form-actions{flex-direction:column;gap:8px}.status-field label,.repeat-field label,.form-actions button{width:100%}.date-trigger{flex-direction:column;align-items:flex-start;gap:2px}.calendar-content{padding:22px 16px}.calendar-navigation{grid-template-columns:1fr 1fr}.calendar-navigation strong{grid-area:1/1/auto/-1;min-width:0}.calendar-navigation button{padding-inline:10px}.calendar-grid{grid-template-columns:repeat(7,minmax(38px,1fr));gap:4px}.calendar-day{min-width:38px;min-height:52px;font-size:1.05rem}.calendar-actions{flex-direction:column}.calendar-actions button{width:100%}.month-selector{grid-template-columns:1fr 1fr;padding:16px;display:grid}.month-selector h2{grid-area:1/1/auto/-1}.month-button{padding-inline:10px}.summary{grid-template-columns:1fr;gap:12px;margin:22px 0 36px}.summary-card{padding:20px}.receipt-action{align-items:stretch;min-width:0}.receipt-action strong{font-size:1.5rem}.receipt-buttons{flex-direction:column}.receipt-buttons button{width:100%}.notice{flex-direction:column;align-items:stretch}}@media (width<=420px){.month-selector{grid-template-columns:1fr}.month-selector h2{grid-column:1}}
