:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f7f7f8;--surface:#fff;--text:#111114;--text-muted:#6b6b74;--border:#e2e2e6;--accent:#2f6fed;--accent-text:#fff;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#101013;--surface:#1a1a1e;--text:#f2f2f4;--text-muted:#9a9aa2;--border:#2c2c31}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.5rem .9rem}input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;width:100%;padding:.55rem .7rem}.full-page-status{height:100vh;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.6rem;width:100%;max-width:360px;padding:2rem;display:flex}.auth-card h1{margin:0 0 .1rem;font-size:1.4rem}.auth-subtitle{color:var(--text-muted);margin:0 0 .5rem}.auth-card label{color:var(--text-muted);margin-top:.4rem;font-size:.85rem}.auth-card button[type=submit]{background:var(--accent);border-color:var(--accent);color:var(--accent-text);margin-top:.6rem;font-weight:600}.auth-error{color:#d3392f;margin:0;font-size:.9rem}.auth-link{text-align:center;color:var(--accent);margin-top:.4rem;font-size:.85rem;text-decoration:none}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:.8rem 1.2rem;display:flex}.app-header-title{letter-spacing:-.01em;font-weight:700}.app-header-user{color:var(--text-muted);align-items:center;gap:.7rem;font-size:.9rem;display:flex}.app-body{flex:1;display:flex}.app-nav{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;gap:.2rem;width:200px;padding:1rem .6rem;display:flex}.app-nav-link{color:var(--text);border-radius:6px;padding:.55rem .7rem;font-size:.95rem;text-decoration:none;display:block}.app-nav-link:hover{background:var(--bg)}.app-nav-link.active{background:var(--accent);color:var(--accent-text)}.app-main{flex:1;padding:2rem}.placeholder-page h1{margin-top:0}.placeholder-note{color:var(--text-muted)}.page-header-row{justify-content:space-between;align-items:center;margin:1.5rem 0 1rem;display:flex}.page-header-row:first-child{margin-top:0}.page-header-row h1{margin:0;font-size:1.4rem}.page-header-row h3{margin:0}button.secondary{background:0 0}button.small{padding:.3rem .6rem;font-size:.85rem}button.danger{color:#d3392f;background:0 0;border-color:#d3392f}.link-button{color:var(--accent);background:0 0;border:none;padding:.2rem 0;font-size:.85rem;text-decoration:underline}form label,.event-form>label,.card-form>label,.transaction-form>label{color:var(--text-muted);flex-direction:column;gap:.25rem;margin-bottom:.7rem;font-size:.85rem;display:flex}.field-row{gap:.8rem;display:flex}.field-row>label{flex:1}.field-inline{color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:.7rem;font-size:.85rem;display:flex}.field-inline.checkbox{flex-direction:row-reverse;justify-content:flex-end}.field-inline input[type=time],.field-inline input[type=number],.field-inline select{width:auto}.form-actions{gap:.6rem;margin-top:1rem;display:flex}.form-actions button[type=submit]{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}fieldset{border:1px solid var(--border);border-radius:8px;margin:0 0 .9rem;padding:.8rem}fieldset legend{color:var(--text-muted);padding:0 .3rem;font-size:.8rem}.modal-backdrop{z-index:50;background:#0006;justify-content:center;align-items:flex-start;padding:3rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:480px;padding:1.5rem}.modal h2{margin-top:0}.tab-row{gap:.4rem;margin-bottom:1rem;display:flex}.tab-row button{flex:1;font-size:.85rem}.tab-row button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.category-chip-row{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.category-chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.3rem .7rem;font-size:.8rem}.category-chip.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.category-select-row,.category-add-row{align-items:center;gap:.5rem;display:flex}.category-select-row select{flex:1}.priority-badge,.status-badge{white-space:nowrap;border:1px solid;border-radius:999px;padding:.1rem .5rem;font-size:.7rem}.view-switcher{gap:.4rem;margin-bottom:.8rem;display:flex}.view-switcher button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.filter-bar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.event-type-dot,.month-view-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.event-type-event{background:#2f6fed}.event-type-payment{background:#c47f17}.event-type-appointment{background:#863bff}.list-view-group{margin-bottom:1.2rem}.list-view-date-header{color:var(--text-muted);margin:0 0 .4rem;font-size:.9rem}.event-list-item{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;align-items:center;gap:.8rem;margin-bottom:.4rem;padding:.6rem .7rem;display:flex}.event-list-item-time{width:72px;color:var(--text-muted);flex-shrink:0;font-size:.8rem}.event-list-item-main{flex:1;min-width:0}.event-list-item-title-row{align-items:center;gap:.5rem;display:flex}.event-list-item-title{font-weight:500}.event-list-item-sub{color:var(--text-muted);font-size:.8rem}.week-view{grid-template-columns:repeat(7,1fr);gap:.5rem;display:grid}.week-view-day{border:1px solid var(--border);border-radius:8px;min-height:140px;overflow:hidden}.week-view-day.today{border-color:var(--accent)}.week-view-day-header{border:none;border-bottom:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-muted);border-radius:0;justify-content:space-between;padding:.4rem .5rem;font-size:.75rem;display:flex}.week-view-day-events{flex-direction:column;gap:.25rem;padding:.3rem;display:flex}.week-view-event{text-align:left;background:var(--bg);border:none;border-left:3px solid #2f6fed;border-radius:4px;padding:.2rem .4rem;font-size:.72rem}.week-view-event.event-type-payment{border-left-color:#c47f17}.week-view-event.event-type-appointment{border-left-color:#863bff}.month-view-weekday-row,.month-view-grid{grid-template-columns:repeat(7,1fr);display:grid}.month-view-weekday{text-align:center;color:var(--text-muted);padding:.3rem;font-size:.75rem}.month-view-cell{aspect-ratio:1;border:1px solid var(--border);background:var(--surface);flex-direction:column;align-items:center;gap:.2rem;padding:.3rem;display:flex}.month-view-cell.empty{background:0 0;border-color:#0000}.month-view-cell.today{border-color:var(--accent)}.month-view-cell-dots{flex-wrap:wrap;justify-content:center;gap:3px;display:flex}.month-view-more{color:var(--text-muted);font-size:.6rem}.onboarding-prompt{background:var(--bg);border:1px dashed var(--border);border-radius:8px;margin:.5rem 0;padding:.7rem}.onboarding-prompt p{margin:0 0 .5rem;font-size:.85rem}.reminder-times-row,.recurrence-detail-row{flex-wrap:wrap;gap:.8rem;display:flex}.card-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.card-tab{border-width:2px;font-size:.85rem}.card-tab.active{background:var(--bg);font-weight:600}.card-tab-last-four{color:var(--text-muted)}.card-detail-header{justify-content:space-between;align-items:flex-start;margin-bottom:.8rem;display:flex}.card-detail-header h2{margin:0}.card-detail-meta{color:var(--text-muted);margin:.1rem 0 0;font-size:.85rem}.card-actions,.color-swatch-row{gap:.4rem;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px}.color-swatch.selected{border-color:var(--text)}.balance-row{gap:1rem;margin-bottom:1.2rem;display:flex}.balance-tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex:1;padding:.9rem 1.1rem}.balance-tile-value{font-size:1.4rem;font-weight:700}.balance-tile-label{color:var(--text-muted);font-size:.8rem}.tooltip-trigger{cursor:help}.transaction-group{margin-bottom:1rem}.transaction-group h3{margin-bottom:.4rem;font-size:.9rem}.transaction-row{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;grid-template-columns:1fr auto;gap:.1rem .8rem;margin-bottom:.4rem;padding:.6rem .7rem;display:grid}.transaction-row-main{align-items:center;gap:.5rem;display:flex}.transaction-row-name{font-weight:500}.transaction-row-status{color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:.05rem .45rem;font-size:.7rem}.transaction-row-status.status-pending{color:#c47f17;border-color:#c47f17}.transaction-row-sub{color:var(--text-muted);grid-column:1;font-size:.75rem}.transaction-row-amount{color:#2a9d5c;grid-area:1/2/span 2;align-self:center;font-weight:600}.transaction-row-amount.negative{color:#d3392f}.stats-grid{grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:.4rem;display:grid}.stats-note{color:var(--text-muted);margin:0 0 1rem;font-size:.78rem}.stat-tile{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:8px;padding:.7rem}.stat-tile-value{font-size:1.1rem;font-weight:700}.stat-tile-label{color:var(--text-muted);font-size:.72rem}.stats-columns{grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1rem;display:grid}.stats-list{margin:0;padding:0;font-size:.85rem;list-style:none}.stats-list li{border-bottom:1px solid var(--border);justify-content:space-between;padding:.25rem 0;display:flex}.appointment-list{flex-direction:column;gap:.6rem;display:flex}.appointment-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;padding:.8rem 1rem}.appointment-card-header{align-items:center;gap:.6rem;display:flex}.appointment-card-title{font-weight:600}.appointment-card-meta,.appointment-card-contact{color:var(--text-muted);font-size:.8rem}.appointment-card-status{border:1px solid var(--border);border-radius:999px;margin-top:.3rem;padding:.05rem .5rem;font-size:.75rem;display:inline-block}@media (width<=720px){.stats-grid,.stats-columns{grid-template-columns:1fr 1fr}.week-view{grid-template-columns:1fr}}
