:root{--bg:#ebded4;--surface:#f6f0ec;--border:#c9b5a6;--text:#684e3d;--text-h:#3e2f24;--accent:#8a6851;--accent-secondary:#ab9685;--accent-bg:#8a685124;--accent-border:#8a685180;--success-bg:#5f7a45;--success-text:#eaf3de;--warning-bg:#946a1b;--warning-text:#faeeda;--error-bg:#b0503c;--error-text:#fcebeb;--info-bg:#4f7488;--info-text:#e6f1fb;--shadow:#3e2f2426 0 10px 15px -3px, #3e2f2414 0 4px 6px -2px;--serif:"Times New Roman", Times, serif;font:18px/145% var(--serif);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#544541;--surface:#695b58;--border:#877d7a;--text:#c8bbb0;--text-h:#ede1d7;--accent:#ab9685;--accent-secondary:#8a6851;--accent-bg:#ab96852e;--accent-border:#ab968580;--success-bg:#93ac76;--success-text:#1d2a12;--warning-bg:#d9a55c;--warning-text:#3d2a0f;--error-bg:#e08c77;--error-text:#3d1610;--info-bg:#8cb0be;--info-text:#132228;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}}:root[data-theme=dark]{--bg:#544541;--surface:#695b58;--border:#877d7a;--text:#c8bbb0;--text-h:#ede1d7;--accent:#ab9685;--accent-secondary:#8a6851;--accent-bg:#ab96852e;--accent-border:#ab968580;--success-bg:#93ac76;--success-text:#1d2a12;--warning-bg:#d9a55c;--warning-text:#3d2a0f;--error-bg:#e08c77;--error-text:#3d1610;--info-bg:#8cb0be;--info-text:#132228;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--serif);color:var(--text-h);font-weight:700}h1{margin:32px 0;font-size:40px}@media (width<=1024px){h1{margin:20px 0;font-size:30px}}h2{margin:0 0 8px;font-size:22px;line-height:118%}@media (width<=1024px){h2{font-size:19px}}p{margin:0}#loading-status{flex-grow:1;justify-content:center;align-items:center;display:flex}#sign-in{text-align:center;flex-direction:column;flex-grow:1;justify-content:center;align-items:center;gap:12px;padding:32px 20px;display:flex;position:relative}#sign-in-logo{width:auto;height:220px;position:absolute;top:32px;left:50%;transform:translate(-50%)}#sign-in-content{flex-direction:column;align-items:center;gap:12px;display:flex}.google-btn{color:var(--text-h);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:10px 20px;font-size:16px;transition:box-shadow .3s}.google-btn:hover{box-shadow:var(--shadow)}.error{color:var(--error-bg)}#app-header{border-bottom:1px solid var(--border);text-align:left;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:16px 32px;display:grid}@media (width<=768px){#app-header{grid-template-columns:1fr}}.header-side{align-items:center;gap:16px;display:flex;position:relative}.header-right{flex-wrap:wrap;justify-content:flex-end}@media (width<=768px){.header-right{justify-content:flex-start}}.header-right button{color:var(--text-h);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:14px}.account-email{font-size:15px}.theme-options{gap:8px;max-width:240px;display:flex}.theme-options button{color:var(--text-h);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:6px;flex:1;padding:6px 0;font-size:14px}.theme-options button.active{color:var(--accent);background:var(--accent-bg);border-color:var(--accent-border)}#brand-logo{justify-content:center;align-items:center;display:flex}#brand-logo img{width:auto;height:140px}@media (width<=768px){#brand-logo{order:-1}#brand-logo img{height:96px}}#menu-button{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;gap:4px;width:26px;height:22px;padding:0;display:flex}#menu-button span{background:var(--text-h);border-radius:2px;width:100%;height:2px;display:block}#stage-menu{z-index:20;background:var(--surface);border:1px solid var(--border);min-width:230px;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden}#stage-menu button{font:inherit;text-align:left;color:var(--text-h);cursor:pointer;background:0 0;border:none;padding:10px 16px;font-size:15px}#stage-menu button:hover{background:var(--accent-bg)}#stage-menu .submenu-item{padding-left:28px;font-size:14px}#stage-menu hr{border:none;border-top:1px solid var(--border);margin:4px 0}#app-main{text-align:left;flex-direction:column;flex-grow:1;gap:32px;padding:32px;display:flex}@media (width<=640px){#app-main{gap:24px;padding:20px}}#add-transaction h2{margin-bottom:16px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:16px;display:grid}.form-grid label{color:var(--text-h);flex-direction:column;gap:6px;font-size:14px;display:flex}.form-grid input,.form-grid select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-h);box-sizing:border-box;border-radius:6px;padding:8px 10px;font-size:16px}.form-grid .prefixed-input,.form-grid .suffixed-input{border:1px solid var(--border);background:var(--surface);box-sizing:border-box;border-radius:6px;align-items:center;padding:0 10px;display:flex}:is(.form-grid .prefixed-input,.form-grid .suffixed-input) span{color:var(--text);white-space:nowrap;font-size:14px}:is(.form-grid .prefixed-input,.form-grid .suffixed-input) input{background:0 0;border:none;flex:1;width:100%;min-width:0;padding:8px 4px}.form-grid .prefixed-input.readonly{opacity:.8}.checkbox-label{color:var(--text-h);align-items:center;gap:8px;margin-bottom:8px;font-size:14px;display:flex}.checkbox-label input{width:auto}#add-transaction button[type=submit]{color:var(--accent);background:var(--accent-bg);cursor:pointer;border:2px solid #0000;border-radius:6px;padding:8px 18px;font-size:16px;transition:border-color .3s}#add-transaction button[type=submit]:hover{border-color:var(--accent-border)}#add-transaction button[type=submit]:disabled{opacity:.6;cursor:default}#stage-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}#stage-tabs button{color:var(--text-h);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:14px}#stage-tabs button.active{color:var(--accent);background:var(--accent-bg);border-color:var(--accent-border)}#transaction-list{flex-direction:column;gap:12px;display:flex}.transaction-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:16px 20px;transition:box-shadow .2s}.transaction-card:hover,.transaction-card:focus-visible{box-shadow:var(--shadow)}.transaction-card .card-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.transaction-card h3{color:var(--text-h);margin:0;font-size:18px}.transaction-card .fields{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.transaction-card .field{flex-direction:column;gap:2px;display:flex}.transaction-card .label{color:var(--text);font-size:12px}.transaction-card .value{color:var(--text-h);font-size:15px}#detail-page,#settings-page{text-align:left;width:100%;max-width:640px;margin:0 auto}#detail-back{color:var(--text);cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:6px 0;font-size:14px}#detail-back:hover{color:var(--text-h)}#detail-header{margin-bottom:16px}#detail-header h2{margin:0}#detail-actions{border-top:1px solid var(--border);margin-top:32px;padding-top:20px}#delete-btn{color:var(--error-bg);border:1px solid var(--error-bg);cursor:pointer;background:0 0;border-radius:6px;padding:8px 14px;font-size:14px}#delete-btn:disabled{opacity:.6;cursor:default}#checklist{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}#checklist h2{margin-bottom:12px}.checklist-item{border-bottom:1px solid var(--border);padding:10px 0}.checklist-item:last-child{border-bottom:none}.checklist-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.checklist-label{color:var(--text-h);flex:1;min-width:160px;font-size:14px}.status-select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:6px;padding:4px 8px;font-size:13px}.status-need{background:var(--error-bg);color:var(--error-text);border-color:var(--error-bg)}.status-not-needed{color:#3e2f24;border-color:var(--border);background:#fff}.status-received{background:var(--success-bg);color:var(--success-text);border-color:var(--success-bg)}.template-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:12px}.checklist-template{background:var(--surface);color:var(--text);white-space:pre-line;border-radius:6px;margin-top:8px;padding:10px 12px;font-size:13px}.checklist-group-fields{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:10px;display:grid}.checklist-group-fields label{color:var(--text);flex-direction:column;gap:4px;font-size:12px;display:flex}.checklist-group-fields input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-h);box-sizing:border-box;border-radius:6px;padding:6px 8px;font-size:14px}.checklist-group-fields input[type=checkbox]{align-self:flex-start;width:auto}.settings-section{border-bottom:1px solid var(--border);margin-bottom:32px;padding-bottom:24px}.settings-section:last-child{border-bottom:none}.settings-section h3{color:var(--text-h);margin:0 0 12px;font-size:16px}#invite-form{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}#invite-form input,#invite-form select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-h);box-sizing:border-box;border-radius:6px;padding:8px 10px;font-size:15px}#invite-form input{flex:1;min-width:200px}#invite-form button{color:var(--accent);background:var(--accent-bg);cursor:pointer;border:2px solid #0000;border-radius:6px;padding:8px 16px;font-size:15px}#invite-form button:disabled{opacity:.6;cursor:default}.hint{color:var(--text);font-size:13px}#member-list{flex-direction:column;gap:8px;display:flex}.member-row{border:1px solid var(--border);background:var(--surface);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.member-row select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:4px 8px;font-size:14px}.member-row button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:13px}.member-email{color:var(--text-h);font-size:14px}.invite-role{color:var(--text);font-size:13px}.pref-list{flex-direction:column;gap:8px;display:flex}.pref-row{border:1px solid var(--border);background:var(--surface);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.pref-row label{color:var(--text-h);align-items:center;gap:8px;font-size:14px;display:flex}.pref-row.pref-row-locked{color:var(--text);font-size:14px}.pref-move{gap:4px;display:flex}.pref-move button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:2px 8px;font-size:13px}.pref-move button:disabled{opacity:.35;cursor:default}.milestone-badge{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500}.milestone-badge.tone-warning{background:var(--warning-bg);color:var(--warning-text)}.milestone-badge.tone-error{background:var(--error-bg);color:var(--error-text)}#calendar{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:20px}#calendar-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}#calendar-nav{align-items:center;gap:10px;display:flex}#calendar-nav button{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:14px}#calendar-month-label{color:var(--text-h);text-align:center;min-width:130px;font-size:15px}#calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-weekday{color:var(--text);text-align:center;padding-bottom:6px;font-size:12px}.calendar-cell{border:1px solid var(--border);background:var(--bg);box-sizing:border-box;border-radius:6px;flex-direction:column;gap:4px;min-height:90px;padding:6px;display:flex}.calendar-cell.outside-month{opacity:.4}.calendar-cell.is-today{border-color:var(--accent-border);border-width:2px}.calendar-date-number{color:var(--text);font-size:13px}.calendar-entries{flex-direction:column;gap:3px;display:flex;overflow:hidden}.calendar-entry{font:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:none;border-radius:4px;padding:2px 6px;font-size:11px;overflow:hidden}.calendar-entry.tone-warning{background:var(--warning-bg);color:var(--warning-text)}.calendar-entry.tone-error{background:var(--error-bg);color:var(--error-text)}.calendar-entry.tone-info{background:var(--info-bg);color:var(--info-text)}.calendar-entry.tone-success{background:var(--success-bg);color:var(--success-text)}#calendar-agenda{flex-direction:column;gap:12px;display:none}.agenda-day{align-items:flex-start;gap:12px;display:flex}.agenda-date{color:var(--text);min-width:90px;padding-top:4px;font-size:13px}.agenda-entries{flex-direction:column;flex:1;gap:6px;display:flex}.agenda-entries .calendar-entry{white-space:normal;padding:6px 10px;font-size:13px}@media (width<=640px){#calendar-grid{display:none}#calendar-agenda{display:flex}}#home{box-sizing:border-box;flex-direction:column;align-items:center;gap:24px;width:100%;padding:40px 20px;display:flex}#home-welcome{text-align:center;max-width:480px;margin:0;font-size:22px;font-weight:500}@media (width<=640px){#home-welcome{font-size:19px}}#home-layout{align-items:flex-start;gap:24px;width:100%;max-width:1100px;display:flex}@media (width<=900px){#home-layout{flex-direction:column-reverse}}#home-calendar{flex:1.3;width:100%;min-width:0}#home-dashboard{flex-direction:column;flex:1;gap:16px;width:100%;min-width:0;display:flex}.dashboard-card{background:var(--surface);border:1px solid var(--border);box-sizing:border-box;border-radius:8px;padding:16px 20px}.dashboard-card h3{color:var(--text-h);margin:0 0 10px;font-size:15px}.dashboard-stat{color:var(--text-h);margin:0;font-size:36px;font-weight:600}.dashboard-empty{color:var(--text);margin:0;font-size:13px}.dashboard-list{flex-direction:column;gap:6px;display:flex}.dashboard-list-item{font:inherit;text-align:left;cursor:pointer;color:var(--text-h);background:var(--bg);border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:14px;display:flex}.dashboard-list-item.tone-warning .dashboard-list-badge{background:var(--warning-bg);color:var(--warning-text)}.dashboard-list-item.tone-error .dashboard-list-badge{background:var(--error-bg);color:var(--error-text)}.dashboard-list-badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px}#home-buttons{flex-direction:column;gap:12px;display:flex}.home-nav-btn{color:var(--accent);background:var(--accent-bg);cursor:pointer;box-sizing:border-box;border:2px solid #0000;border-radius:6px;width:100%;padding:10px 24px;font-size:16px;transition:border-color .3s}.home-nav-btn:hover{border-color:var(--accent-border)}
