*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f4f5f7;color:#15171a}header{position:sticky;top:0;z-index:2;background:#111827;color:#fff;padding:16px max(18px,calc((100% - 1100px)/2));display:flex;justify-content:space-between;align-items:center}header strong{display:block;font-size:20px}header small{opacity:.65}button,select,input,textarea{font:inherit}button{border:0;border-radius:10px;padding:10px 14px;cursor:pointer}header button,.primary{background:#fff;color:#111827;font-weight:700}.primary{background:#111827;color:white;width:100%}main{max-width:1100px;margin:auto;padding:22px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats article,.panel,.job{background:#fff;border:1px solid #e3e5e8;border-radius:14px;padding:16px}.stats span{display:block;color:#666;font-size:13px}.stats b{font-size:26px}.sectionHead{display:flex;align-items:center;justify-content:space-between;margin-top:28px}h2{font-size:18px}.jobs{display:grid;gap:10px}.job{cursor:pointer}.jobTop{display:flex;justify-content:space-between;gap:10px}.tag{font-size:12px;background:#eef0f3;padding:4px 8px;border-radius:999px}.progress{height:7px;background:#eceef1;border-radius:99px;margin:12px 0;overflow:hidden}.progress i{display:block;height:100%;background:#111827}.meta{color:#666;font-size:13px;display:flex;gap:14px;flex-wrap:wrap}.warn{color:#9a3412}.muted{color:#777}dialog{border:0;border-radius:16px;width:min(560px,94vw);padding:0;box-shadow:0 20px 70px #0004}dialog::backdrop{background:#0007}form,#detailBody{padding:20px}.modalHead{display:flex;justify-content:space-between;align-items:center}.modalHead button{font-size:24px;background:none}label{display:block;font-size:13px;margin:12px 0;color:#555}input,select,textarea{width:100%;margin-top:5px;border:1px solid #d7d9dd;border-radius:9px;padding:10px;background:white}.checkgroup{border-top:1px solid #eee;padding-top:12px;margin-top:16px}.check{display:flex;align-items:center;gap:9px;padding:8px 0}.check input{width:auto;margin:0}.payments{background:#f7f7f8;border-radius:12px;padding:12px}.closeDetail{float:right}.danger{background:#fee2e2;color:#991b1b;margin-top:16px}@media(max-width:650px){header{padding:13px 15px}header button{font-size:0;padding:10px}header button:after{content:'＋';font-size:22px}.stats{grid-template-columns:1fr 1fr}main{padding:14px}.stats b{font-size:22px}.sectionHead{margin-top:20px}}
.serviceBox{margin:16px 0;padding:14px;border:1px solid #dfe2e6;border-radius:12px;background:#f8f9fa}.serviceBox>b,.serviceBox>small{display:block}.serviceBox>small{color:#777;margin:3px 0 10px}.serviceRow{margin:4px 0}.serviceCheck{display:flex;align-items:center;gap:8px;margin:0;padding:7px 0;color:#333}.serviceCheck input{width:auto;margin:0}.linkedServices{margin:6px 0 8px 25px;padding:10px;border-left:3px solid #d7dbe1;display:grid;grid-template-columns:1fr 150px;gap:6px 10px;align-items:center}.linkedServices select{margin:0}.serviceTags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.serviceTags span{font-size:12px;padding:5px 8px;border-radius:999px;background:#eef0f3}.serviceTags.big span{font-size:13px}@media(max-width:650px){.linkedServices{grid-template-columns:1fr}.linkedServices select{width:100%}}
.alertItem{display:block;width:100%;text-align:left;background:transparent;border-radius:8px;padding:8px;color:inherit}.alertItem:hover{background:#f3f4f6}.rowHead{display:flex;justify-content:space-between;align-items:center;gap:10px}.mini{padding:6px 9px;background:#e9ebee;font-size:12px}.editRow{display:grid;grid-template-columns:1fr 120px 42px;gap:8px;align-items:end}.editRow.four{grid-template-columns:1fr 120px 90px 42px}.editRow label{margin:6px 0}.removeBtn{background:#fee2e2;color:#991b1b;padding:10px}.detailActions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.secondary{background:#e9ebee;color:#111827;font-weight:700}@media(max-width:650px){.editRow,.editRow.four{grid-template-columns:1fr 1fr}.editRow .removeBtn{grid-column:2;justify-self:end}.alertItem{padding:10px 4px}}
.mainNav{max-width:1100px;margin:0 auto;padding:10px 22px 0;display:flex;gap:8px}.navBtn{background:transparent;color:#555;font-weight:700}.navBtn.active{background:#111827;color:#fff}.navBtn span{font-size:11px;margin-left:5px}.collabHero{display:flex;justify-content:space-between;gap:20px;align-items:end}.collabHero h2{margin-bottom:2px}.collabStats{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:10px}.collabStats article{background:#fff;border:1px solid #e3e5e8;border-radius:14px;padding:14px}.collabStats span{display:block;color:#666;font-size:12px}.collabStats b{font-size:22px}.collabFilters>div{display:flex;gap:8px}.collabFilters input{margin:0;min-width:220px}.collabFilters select{margin:0}.collabList{display:grid;gap:10px}.collabCard{background:#fff;border:1px solid #e3e5e8;border-radius:14px;padding:15px}.collabMain,.collabActions{display:flex;justify-content:space-between;gap:12px;align-items:center}.collabActions{margin-top:12px}.paidToggle{display:flex;align-items:center;gap:8px;margin:0}.paidToggle input{width:auto;margin:0}.paymentEdit{grid-template-columns:1fr 120px 90px 42px}.paymentEdit .paymentNote{grid-column:3/-1}@media(max-width:650px){.mainNav{padding:8px 14px 0;overflow-x:auto}.collabHero{display:block}.collabStats{margin-top:12px}.collabFilters{display:block}.collabFilters>div{display:grid;grid-template-columns:1fr 120px}.collabFilters input{min-width:0}.collabMain{align-items:flex-start}.collabActions{align-items:center}.paymentEdit{grid-template-columns:1fr 1fr}.paymentEdit .paymentNote{grid-column:1/-1}}

[hidden]{display:none!important}.eventGrid,.presetGrid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.eventGrid .wide{grid-column:1/-1}.templateHint{font-size:13px;color:#666}.dataTools{margin:30px 0}.expenseEdit{grid-template-columns:1fr 100px 90px 42px}@media(max-width:650px){.eventGrid,.expenseEdit{grid-template-columns:1fr}.presetGrid{grid-template-columns:repeat(3,1fr)}.editRow input{min-width:0}}
.event-wedding{--event-color:#7050a0;--event-bg:#f1ebfa}.event-baptism{--event-color:#1b6687;--event-bg:#e6f3fa}.event-anniversary{--event-color:#876014;--event-bg:#fff4d8}.event-birthday{--event-color:#a13d75;--event-bg:#fbeaf4}.event-other{--event-color:#226b59;--event-bg:#e4f5ed}.tag[class*=event-]{display:inline-flex;gap:5px;align-items:center;color:var(--event-color);background:var(--event-bg);font-weight:650}.job[class*=event-]{border-left:5px solid var(--event-color)}.backupWarning{margin:12px 0;padding:12px;border:1px solid #e7a3a3;border-left:4px solid #b42318;border-radius:8px;background:#fff0ee;color:#8a2018;font-size:14px}.backupWarning b{display:block;margin-top:4px}.alertItem.critical{color:#8a2018;background:#fff0ee;margin:4px 0}.alertItem .tag{margin-right:7px}.paymentSummary{display:flex;gap:15px;flex-wrap:wrap;background:#f1f4f6;padding:12px;border-radius:8px;margin:12px 0}.paymentSummary span{flex:1;min-width:110px}.paymentSummary b{display:block}.paymentLine{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #eee;padding:10px 0}.check:has(input:disabled){color:#888}#paymentError{color:#b42318}.rowHead{flex-wrap:wrap}#eventFields .eventGrid{margin-top:8px}@media(max-width:650px){.paymentLine{align-items:flex-start}.paymentLine button{flex-shrink:0}}
.authCard{max-width:460px;margin:8vh auto;padding:24px;background:white;border:1px solid #ddd;border-radius:16px}.authCard form{padding:0}.authCard p{color:#555;line-height:1.5}.authCard code{display:block;overflow-wrap:anywhere;background:#f2f4f6;padding:12px}#busyOverlay{position:fixed;inset:0;z-index:10000;background:#ffffffd9;display:grid;place-items:center;font-weight:700}.onlineBar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px;font-size:13px}#syncStatus{flex:1}#authStatus,#backupError,#passwordError{white-space:pre-wrap}#recoveryCodes{user-select:all;font-size:14px}@media(max-width:650px){.authCard{margin:24px 12px}header #logoutBtn{font-size:12px}header #logoutBtn:after{content:none}}
