:root {
  --bg: #f5f8fd;
  --card: rgba(255,255,255,.88);
  --text: #0d1326;
  --muted: #6d7690;
  --line: rgba(30,45,80,.08);
  --blue: #1967ff;
  --violet: #7d18ef;
  --pink: #ef1f68;
  --green: #0b9a53;
  --orange: #f07820;
  --danger: #d71f2b;
  --shadow: 0 20px 60px rgba(26,39,72,.10);
  --radius: 28px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:#eef3fb}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,Segoe UI,sans-serif;color:var(--text);background:linear-gradient(180deg,#f7faff 0,#f1f5fb 100%);min-height:100vh}
button,input{font:inherit}
button{border:0;background:none;color:inherit}
.desktop-bg{position:fixed;inset:0;pointer-events:none;background:
radial-gradient(circle at 18% 8%,rgba(45,111,255,.16),transparent 30%),
radial-gradient(circle at 83% 16%,rgba(151,48,245,.14),transparent 28%),
radial-gradient(circle at 74% 82%,rgba(11,154,83,.10),transparent 26%)}
.app-shell{position:relative;width:100%;max-width:470px;min-height:100vh;min-height:100dvh;margin:0 auto;padding:calc(22px + env(safe-area-inset-top)) 18px calc(118px + env(safe-area-inset-bottom));overflow:hidden}
.app-shell::before{content:"";position:absolute;z-index:-1;left:-80px;right:-80px;top:-150px;height:420px;background:linear-gradient(135deg,#133cc7 0%,#5523ce 48%,#e82c91 100%);border-radius:0 0 46% 46%;opacity:.10;filter:blur(2px)}
.app-header{display:flex;align-items:flex-start;justify-content:space-between;padding:4px 8px 22px}
.eyebrow{margin:0 0 4px;font-size:11px;letter-spacing:.16em;font-weight:800;color:#7b4ef2}
.app-header h1{font-size:46px;line-height:1.0;letter-spacing:-.045em;margin:0;font-weight:850}
.app-header h1{display:none}body.overview-page .app-header h1{display:block}
.subhead{margin:7px 0 0;font-size:21px;color:var(--muted);font-weight:500}
.icon-button{width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8);font-size:20px;font-weight:800;color:#263150;backdrop-filter:blur(16px)}
.page{display:none}.page.active{display:block;animation:fadeIn .24s ease both}@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.glass-card,.person-card,.detail-card,.settings-card,.formula-note,.insight-card,.payment-hero,.timeline-card,.mini-card{background:var(--card);border:1px solid rgba(255,255,255,.85);box-shadow:var(--shadow);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.hero-card{border-radius:32px;padding:22px;position:relative;overflow:hidden}
.hero-card::after{content:"";position:absolute;width:240px;height:150px;border-radius:50%;right:-80px;bottom:-90px;background:linear-gradient(120deg,rgba(41,121,255,.12),rgba(234,61,187,.17));transform:rotate(-17deg);filter:blur(1px);pointer-events:none}
.christmas-hero-greenery{display:none}
body.season-christmas .christmas-hero-greenery{display:block;position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.christmas-hero-greenery .greenery-defs{position:absolute;width:0;height:0;overflow:hidden}
.christmas-hero-greenery .greenery-sprig{position:absolute;width:170px;height:104px;filter:drop-shadow(0 2px 3px rgba(25,74,44,.18));opacity:.96}
.christmas-hero-greenery .greenery-top-left{top:-3px;left:-4px}
.christmas-hero-greenery .greenery-top-right{top:-3px;right:-4px;transform:scaleX(-1)}
.christmas-hero-greenery .greenery-bottom-left{bottom:-3px;left:-4px;transform:scaleY(-1)}
.christmas-hero-greenery .greenery-bottom-right{bottom:-3px;right:-4px;transform:scale(-1)}
.hero-card>:not(.christmas-hero-greenery){position:relative;z-index:1}
.card-heading{display:flex;gap:14px;align-items:center;margin-bottom:16px}.card-heading h2{font-size:24px;line-height:1.1;margin:0;font-weight:800;letter-spacing:-.025em}.card-heading p{margin:5px 0 0;font-size:15px;color:var(--muted)}
.round-icon,.mini-icon,.avatar{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;font-weight:900}.round-icon{width:52px;height:52px;font-size:28px}.mini-icon{width:44px;height:44px;font-size:20px}.avatar{width:42px;height:42px;font-size:14px}.avatar-select{padding:0;cursor:pointer;touch-action:manipulation;transition:transform .16s ease,box-shadow .16s ease}.avatar-select:hover{transform:scale(1.06)}.avatar-select:active{transform:scale(.96)}.avatar-select:focus-visible{outline:3px solid var(--violet);outline-offset:3px}
.purple{background:#f0e4ff;color:#7417de}.pink{background:#ffe6ef;color:#e71961}.blue{background:#e5f0ff;color:#1565d8}.green{background:#e4f7ed;color:#09894a}.violet{background:#eee7ff;color:#6c16d8}.orange{background:#fff0df;color:#e7640b}.red{background:#ffe7e8;color:#d71f2b}.yellow{background:#fff3cc;color:#b77900}
.metric-grid{display:grid;grid-template-columns:1fr 1fr}.metric{min-width:0;display:flex;align-items:center;gap:12px;padding:16px 6px;border-top:1px solid var(--line);text-align:left}.metric:nth-child(-n+2){border-top:0}.metric:nth-child(odd){padding-right:14px;border-right:1px solid var(--line)}.metric:nth-child(even){padding-left:14px}.metric-wide{grid-column:1/-1;border-right:0!important}.metric small{display:block;font-size:14px;color:var(--muted);margin-bottom:5px}.metric strong{display:block;font-size:22px;letter-spacing:-.025em;white-space:nowrap}.editable{cursor:pointer}.editable:active{opacity:.6}.danger{color:var(--danger)!important}.positive{color:var(--green)!important}
.metric[data-cycle-interest-period]:focus-visible{outline:2px solid var(--violet);outline-offset:-2px;border-radius:14px}
.metric-value-red{color:#d71f2b!important}.metric-value-yellow{color:#b77900!important}
.metric-value-pink{color:#e71961}.metric-value-blue{color:#1565d8}.metric-value-violet{color:#6c16d8}.metric-value-orange{color:#e7640b}.metric-value-green{color:#09894a}
.section-title{padding:28px 9px 14px}.section-title.page-top{padding-top:4px}.section-title h2{font-size:31px;letter-spacing:-.04em;margin:0;font-weight:850}.section-title p{font-size:16px;line-height:1.4;color:var(--muted);margin:6px 0 0}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.person-card{border-radius:26px;padding:16px 14px;min-width:0;overflow:hidden}.person-card.partner{background:linear-gradient(145deg,rgba(246,250,255,.96),rgba(239,247,255,.92))}.person-card.me{background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(242,251,247,.94))}.person-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}.person-heading h3{font-size:21px;margin:0;letter-spacing:-.03em}.row{display:flex;width:100%;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:14px;text-align:left}.row span{color:#68728f}.row strong{font-size:15px}.share-pill{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:10px;padding:12px;border-radius:17px;background:linear-gradient(135deg,#fff1f4,#ffebef)}.share-pill-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.share-pill small{display:block;color:#755b66;margin:0;font-size:12px;line-height:1.3}.share-pill strong{font-size:18px;color:#d31f2d;white-space:nowrap}.balance-progress{height:8px;border-radius:999px;background:rgba(211,31,45,.14);overflow:hidden}.balance-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff8a9a,#e92546);transition:width .3s ease}
.person-name-edit{padding:0;border-radius:4px;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.person-name-edit:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.person-name-edit:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
.insight-card{border-radius:26px;padding:20px;margin-top:14px;display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,rgba(247,248,255,.94),rgba(244,240,255,.92))}.insight-card h3{margin:0 0 6px;font-size:20px}.insight-card p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px;line-height:1.45}.donut{--pct:32;position:relative;flex:0 0 auto;width:94px;height:94px;border-radius:50%;background:conic-gradient(var(--green) calc(var(--pct)*1%),#edf0f6 0);display:grid;place-items:center}.donut::after{content:"";position:absolute;width:69%;height:69%;border-radius:50%;background:white}.donut span{position:relative;z-index:2;font-size:15px;font-weight:800}.donut.small{width:82px;height:82px}.donut.small span{font-size:13px}
.detail-card{border-radius:28px;padding:20px;margin-bottom:14px;overflow:hidden;position:relative}.detail-card::before{content:"";position:absolute;right:-60px;top:-90px;width:220px;height:190px;border-radius:50%;opacity:.17;filter:blur(2px)}.accent-blue::before{background:linear-gradient(135deg,#1c73ff,#8127e6)}.accent-green::before{background:linear-gradient(135deg,#1dd58a,#36a7ff)}.detail-person{display:flex;align-items:center;gap:12px;min-width:0}.detail-person .avatar{width:44px;height:44px}.detail-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:15px}.detail-head h2{font-size:31px;margin:2px 0 1px;letter-spacing:-.045em}.detail-head span{color:var(--muted);font-size:13px}.detail-list{position:relative}.detail-list>div,.detail-list>button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;padding:15px 2px;border-top:1px solid var(--line);text-align:left}.detail-list span{color:#68728f;font-size:14px}.detail-list strong{font-size:16px;white-space:nowrap}

.payment-hero{border-radius:30px;padding:23px;background:linear-gradient(145deg,#132f8b 0%,#4620c0 53%,#b02ac5 100%);color:white}.payment-hero .eyebrow{color:#cfcbff}.big-edit{display:flex;align-items:center;gap:12px;color:white;padding:0}.big-edit strong{font-size:45px;letter-spacing:-.05em}.big-edit span{font-size:12px;border:1px solid rgba(255,255,255,.32);padding:6px 10px;border-radius:999px}.bar{height:12px;border-radius:999px;background:rgba(255,255,255,.23);margin-top:22px;overflow:hidden}.bar i{display:block;width:32%;height:100%;background:linear-gradient(90deg,#52efb2,#9cf4d3);border-radius:999px}.bar-labels{display:flex;justify-content:space-between;margin-top:10px;font-size:12px;color:#e4e0ff}.bar-labels b{color:white}.repayment-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.mini-card{border-radius:23px;padding:16px}.mini-card p{margin:0 0 9px;color:var(--muted);font-size:13px}.mini-card button{text-align:left}.mini-card strong{display:block;font-size:24px;letter-spacing:-.03em}.mini-card span{font-size:12px;color:var(--muted)}
.timeline-card{border-radius:24px;padding:20px;display:flex;align-items:center;justify-content:space-between;text-align:center}.timeline-card div:not(.arrow){flex:1}.timeline-card small,.timeline-card span{display:block;color:var(--muted);font-size:12px}.timeline-card strong{display:block;font-size:29px;margin:4px 0}.timeline-card .arrow{font-size:25px;color:#9aa2b4}.compact{margin-top:14px}
.loan-date-card{margin-top:14px;padding:18px;border:1px solid rgba(255,255,255,.85);border-radius:25px;background:var(--card);box-shadow:var(--shadow);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.loan-date-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.loan-date-heading h3{margin:0;font-size:19px;letter-spacing:-.02em}.loan-date-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}.loan-date-badge{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:linear-gradient(135deg,#f1e8ff,#eaf2ff);color:#6817d8;font-size:11px;font-weight:800}.loan-date-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:15px}.loan-date-stats>div{min-width:0}.loan-date-stats small,.loan-date-stats strong{display:block}.loan-date-stats small{color:var(--muted);font-size:11px}.loan-date-stats strong{margin-top:4px;font-size:clamp(13px,3.8vw,17px);line-height:1.2;overflow-wrap:anywhere}.loan-progress-track{height:9px;margin-top:15px;border-radius:999px;background:rgba(116,128,153,.16);overflow:hidden}.loan-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#20cb91,#256fff,#7d18ef);transition:width .3s ease}.loan-progress-caption{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.4}
.interest-estimate-card{margin-top:14px;padding:19px;border:1px solid rgba(255,255,255,.85);border-radius:25px;background:linear-gradient(140deg,rgba(246,241,255,.94),rgba(240,248,255,.94));box-shadow:var(--shadow)}.interest-estimate-card h3{margin:0;font-size:19px;letter-spacing:-.02em}.interest-estimate-card>div:first-child p{margin:4px 0 0;color:var(--muted);font-size:12px}.interest-estimate-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.interest-estimate-grid>div{min-width:0;padding:12px;border-radius:16px;background:rgba(255,255,255,.68)}.interest-estimate-grid span,.interest-estimate-grid strong{display:block}.interest-estimate-grid span{color:var(--muted);font-size:12px}.interest-estimate-grid strong{margin-top:5px;font-size:clamp(17px,5vw,24px);letter-spacing:-.035em;overflow-wrap:anywhere}.interest-estimate-grid strong.positive{color:var(--green)}.interest-estimate-note{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.interest-estimate-note strong{color:var(--text)}
.repayment-chart-card{margin-top:14px;padding:18px;border:1px solid rgba(255,255,255,.85);border-radius:25px;background:var(--card);box-shadow:var(--shadow);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.repayment-chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.repayment-chart-heading h3{margin:0;font-size:19px;letter-spacing:-.02em}.repayment-chart-heading p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.chart-legend{display:grid;gap:6px;flex:0 0 auto;color:var(--muted);font-size:12px}.chart-legend>span{display:flex;align-items:center;gap:6px}.chart-legend i{width:9px;height:9px;border-radius:50%}.legend-partner{background:#246bfd}.legend-me{background:#12a46f}.repayment-chart{display:block;width:100%;height:auto;margin-top:14px;overflow:visible}.chart-gridline{stroke:rgba(105,120,151,.19);stroke-width:1}.chart-gridline-vertical{stroke-dasharray:3 5;opacity:.65}.chart-label{fill:#6c7893;font:10px system-ui,-apple-system,sans-serif}.chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-line-partner{stroke:#246bfd}.chart-line-me{stroke:#12a46f}.chart-footnote{display:flex;justify-content:space-between;margin:-1px 4px 0 54px;color:var(--muted);font-size:11px}
.settings-card{border-radius:27px;overflow:hidden}.settings-card button{display:flex;width:100%;justify-content:space-between;align-items:center;padding:18px 20px;border-top:1px solid var(--line);text-align:left}.settings-card button:first-child{border-top:0}.settings-card span{color:#5f6985}.settings-card strong{font-size:16px}.formula-note{border-radius:25px;padding:20px;margin-top:14px;background:linear-gradient(145deg,#f6f1ff,#f7fbff)}.formula-note h3{margin:0 0 7px;font-size:18px}.formula-note p{margin:0;color:var(--muted);line-height:1.55;font-size:14px}.reset-button{width:100%;margin-top:18px;padding:15px;border-radius:17px;background:#d71f2b;color:#fff;font-weight:750;transition:background .16s,transform .16s}.reset-button:hover{background:#bc1722}.reset-button:active{transform:scale(.99)}
.tab-bar{position:fixed;z-index:20;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 26px),560px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px;border-radius:26px;background:rgba(255,255,255,.90);border:1px solid rgba(255,255,255,.9);box-shadow:0 16px 45px rgba(25,38,74,.18);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.tab{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:18px;color:#7a839d}.tab span{font-size:23px;line-height:1}.tab small{font-size:11px;font-weight:650}.tab.active{background:linear-gradient(135deg,#f6efff,#eef5ff);color:#7117df}.tab.active small{font-weight:800}
.sheet-backdrop{position:fixed;inset:0;z-index:40;background:rgba(10,14,27,.30);opacity:0;pointer-events:none;transition:.24s;backdrop-filter:blur(3px)}.sheet-backdrop.show{opacity:1;pointer-events:auto}.bottom-sheet{position:fixed;z-index:41;left:50%;bottom:var(--sheet-keyboard-inset,0px);transform:translate(-50%,105%);width:min(100%,500px);max-height:var(--sheet-viewport-height,100dvh);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fff;border-radius:30px 30px 0 0;padding:10px 22px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -18px 60px rgba(20,28,55,.22);transition:transform .28s cubic-bezier(.2,.85,.25,1)}.bottom-sheet.show{transform:translate(-50%,0)}.grabber{width:42px;height:5px;border-radius:999px;background:#d7dbe5;margin:0 auto 16px}.sheet-head{display:flex;justify-content:space-between;align-items:start}.sheet-head h2{margin:0;font-size:28px;letter-spacing:-.04em}.close-sheet{width:36px;height:36px;border-radius:50%;background:#f2f4f8;font-size:24px;color:#6a7286}.amount-input{margin-top:20px;border:2px solid #7d36ed;border-radius:18px;display:flex;align-items:center;padding:0 16px;height:66px;box-shadow:0 0 0 5px rgba(125,54,237,.06)}.amount-input span{font-size:22px;font-weight:750;color:#6a1ddb}.amount-input input{width:100%;border:0;outline:0;font-size:30px;font-weight:800;letter-spacing:-.03em;padding:0 8px;background:transparent;color:var(--text)}.input-help{font-size:13px;color:var(--muted);margin:10px 4px 20px}.primary-button{width:100%;padding:16px;border-radius:17px;color:white;font-weight:800;background:linear-gradient(135deg,#1967ff,#7d18ef);box-shadow:0 10px 26px rgba(89,43,213,.23);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.toast{position:fixed;z-index:60;left:50%;bottom:120px;transform:translate(-50%,20px);background:#0c1328;color:white;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:700;opacity:0;pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}
body.private-locked .app-shell{min-height:100dvh;display:grid;align-content:center;padding-top:24px;padding-bottom:24px}
body.private-locked .app-header,body.private-locked .page:not([data-page="settings"]),body.private-locked .tab-bar{display:none!important}
body.private-locked .page[data-page="settings"]{display:block!important;margin:0;padding:0}
body.private-locked .page[data-page="settings"]>.section-title{margin:0 0 14px}
body.private-locked .page[data-page="settings"]>.section-title p{margin-bottom:0}
body.private-locked .page[data-page="settings"]>.section-title .settings-subtabs{display:none}
body.private-locked .page[data-page="settings"]>.settings-left-stack{display:block!important;max-width:680px;margin:0 auto}
body.private-locked .settings-left-stack>:not(.cloud-account-card),body.private-locked .page[data-page="settings"]>:not(.section-title):not(.settings-left-stack){display:none!important}
body.private-locked .cloud-account-card{display:block!important}
@media (max-width:390px){.app-shell{padding-left:12px;padding-right:12px}.app-header h1{font-size:41px}.hero-card{padding:18px}.metric{gap:9px}.mini-icon{width:38px;height:38px}.metric strong{font-size:19px}.split-grid{gap:8px}.person-card{padding:14px 11px}.row{font-size:13px}.share-pill{padding:10px 9px}.share-pill strong{font-size:16px}}
@media (min-width:900px){body{padding:30px}.app-shell{min-height:900px;border-radius:48px;box-shadow:0 35px 120px rgba(25,38,74,.22);background:rgba(248,250,254,.84);border:8px solid #11131a}.tab-bar{bottom:42px}}

.log-payments-button{margin-top:16px}.payment-log-help{margin:8px 4px 14px;color:var(--muted);font-size:13px;line-height:1.45}.payment-history-card h3{margin:0 0 8px;font-size:18px}.payment-history-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:13px}.payment-history-row span{color:var(--muted)}.payment-history-row strong{display:block;margin-top:3px}.empty-history{margin:8px 0;color:var(--muted);font-size:14px}

.payment-history-row{align-items:center}.payment-history-right{display:flex;align-items:center;gap:10px;text-align:right}.payment-history-amounts{display:flex;flex-direction:column}.delete-payment-button{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:50%;color:#b73548;background:#fff0f2;transition:background .15s,transform .15s}.delete-payment-button:hover{background:#ffe0e5}.delete-payment-button:active{transform:scale(.94)}.log-payments-button{margin-bottom:4px}

.loan-start-setting,.currency-setting{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px;padding:15px 20px;border-top:1px solid var(--line)}.loan-start-setting>span,.currency-setting>span{font-weight:650}.loan-start-setting input,.currency-setting select{max-width:100%;border:1px solid rgba(30,45,80,.12);border-radius:11px;padding:9px 11px;background:rgba(244,247,252,.85);color:var(--text);font:inherit;font-size:14px;font-weight:700}.currency-setting select{padding-right:30px}.currency-setting small{grid-column:1/-1;color:var(--muted);font-size:12px;line-height:1.35}

.person-choice-wrap{padding:14px 20px 16px;border-top:1px solid var(--line)}.person-choice-label{margin:0 0 9px;color:var(--muted);font-size:14px;font-weight:650}.person-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-card .person-choice button{justify-content:center;border:1px solid rgba(30,45,80,.1);border-radius:14px;padding:12px 14px;background:rgba(244,247,252,.75);font-weight:750;color:var(--muted);transition:background .16s,color .16s,box-shadow .16s}.settings-card .person-choice button.selected{color:#6817d8;background:linear-gradient(135deg,#f1e8ff,#eaf2ff);box-shadow:inset 0 0 0 2px #7d18ef}.person-card.is-selected,.detail-card.is-selected{box-shadow:inset 0 0 0 2px #7d18ef,var(--shadow)}
.person-card.partner{background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(242,251,247,.94))}.name-settings-card h3{padding:13px 18px 8px}.person-choice-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-top:1px solid var(--line)}.person-choice-label{flex:0 0 auto;margin:0}.person-choice{width:min(74%,460px);gap:8px}.settings-card .person-choice button{min-height:38px;padding:8px 12px}.name-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 14px}.settings-card .name-edit-grid button{min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;padding:9px 12px;border:1px solid rgba(30,45,80,.09);border-radius:13px;background:rgba(247,249,253,.8)}.name-edit-grid span{font-size:12px}.name-edit-grid strong{font-size:15px}

.individual-log-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.individual-log-actions .log-payments-button{margin:0;padding:15px 10px;font-size:14px;line-height:1.25}

.song-card{display:flex;align-items:center;gap:16px;margin-top:16px;padding:18px 20px;border-radius:25px;background:linear-gradient(135deg,#f5efff,#eef7ff);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow)}.song-note{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:17px;background:#fff;color:#6e1cdd;font-size:30px;font-weight:800}.song-card .eyebrow{margin:0 0 4px;color:#7518dc}.song-card h2{margin:0;font-size:20px;letter-spacing:-.025em}.song-card p:last-child{margin:3px 0 0;color:var(--muted);font-size:14px}

.song-copy{min-width:0;flex:1}.song-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.song-card h2{font-size:20px;line-height:1.2}.song-refresh{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.8);color:#6415c8}.song-refresh:hover{background:white}.song-refresh:active{transform:rotate(35deg)}.song-card .song-link{display:inline-flex;align-items:center;gap:5px;margin-top:8px;color:#6415c8;font-weight:750;font-size:13px;text-decoration:none}.song-card .song-link:hover{text-decoration:underline}

@media (min-width:600px){.app-shell{max-width:760px;padding-left:28px;padding-right:28px}.hero-card{padding:28px}.app-header{padding-left:12px;padding-right:12px}.metric{padding-top:20px;padding-bottom:20px}.person-card{padding:22px}.detail-card{padding:26px}.split-grid{gap:18px}.metric strong{font-size:24px}}
@media (min-width:900px){.app-shell{max-width:980px;padding-left:36px;padding-right:36px}.hero-card{padding:32px}.split-grid{gap:22px}.person-card{padding:26px}.section-title h2{font-size:36px}.detail-card{padding:30px}}
@media (max-width:360px){.app-shell{padding-left:10px;padding-right:10px}.hero-card{padding:14px}.metric{gap:7px;padding-left:2px;padding-right:8px}.metric:nth-child(even){padding-left:8px}.metric strong{font-size:17px}.metric small{font-size:12px}.mini-icon{width:34px;height:34px}.app-header h1{font-size:37px}.person-heading h3{font-size:18px}.share-pill strong{font-size:14px}}

.person-heading h3{overflow-wrap:anywhere}.app-shell{max-width:min(100%,470px)}@media (min-width:600px){.app-shell{max-width:min(100%,760px)}}@media (min-width:900px){.app-shell{max-width:min(100%,980px)}}

.name-settings-card{margin-top:14px}.name-settings-card h3{margin:0;padding:18px 20px 10px;font-size:18px}.settings-card button strong{color:var(--text)}

.settings-left-stack{display:grid;gap:8px;min-width:0}.view-settings-card{margin:0}.view-settings-card h3{margin:0;padding:14px 20px 8px;font-size:18px}.view-mode-wrap{padding:10px 18px 14px;border-top:1px solid var(--line)}.view-mode-wrap>p{margin:0 0 8px;color:var(--muted);font-size:14px;font-weight:650}.view-mode-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.settings-card .view-mode-choice button{justify-content:center;min-height:38px;padding:8px 10px;border:1px solid rgba(30,45,80,.1);border-radius:13px;background:rgba(244,247,252,.75);color:var(--muted);font-weight:750}.settings-card .view-mode-choice button.selected{color:#6817d8;background:linear-gradient(135deg,#f1e8ff,#eaf2ff);box-shadow:inset 0 0 0 2px #7d18ef}.view-mode-help{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.35}
.settings-subtabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.settings-subtabs a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border:1px solid rgba(104,23,216,.16);border-radius:999px;background:rgba(244,239,255,.82);color:#6817d8;font-size:13px;font-weight:750;text-decoration:none}.settings-subtabs a[aria-current="page"]{background:linear-gradient(135deg,#e8dcff,#e5eeff);box-shadow:inset 0 0 0 1px #7d18ef}.cloud-account-card{scroll-margin-top:20px}.cloud-account-card .shared-login-help{padding:10px 12px;border-radius:13px;background:rgba(104,23,216,.06)}.cloud-account-card :disabled{opacity:.55;cursor:not-allowed}.cloud-account-card :disabled:hover{transform:none}
body.landscape-view{padding:0;min-height:100dvh}body.landscape-view .app-shell{width:100%;max-width:none;min-height:100dvh;margin:0;padding:14px 20px calc(106px + env(safe-area-inset-bottom));border:0;border-radius:0;background:rgba(248,250,254,.84);box-shadow:none}body.landscape-view .app-header{padding:0 8px;margin-bottom:8px}body.landscape-view .app-header h1{font-size:38px}body.landscape-view .app-header .subhead{font-size:17px}body.landscape-view .icon-button{width:42px;height:42px}body.landscape-view .tab-bar{bottom:calc(6px + env(safe-area-inset-bottom));width:min(calc(100% - 28px),680px)}body.landscape-view .page.active[data-page="overview"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:12px}body.landscape-view .page[data-page="overview"]>.hero-card{grid-column:1;grid-row:1}body.landscape-view .page[data-page="overview"]>.section-title{grid-column:2;grid-row:1;padding:4px 8px 0}body.landscape-view .page[data-page="overview"]>.split-grid{grid-column:2;grid-row:2;grid-template-columns:1fr;gap:10px}body.landscape-view .page[data-page="overview"]>.individual-log-actions{grid-column:1;grid-row:2;grid-template-columns:1fr}body.landscape-view .page[data-page="overview"]>.insight-card{grid-column:1;grid-row:3;margin-top:0}body.landscape-view .page[data-page="overview"]>.song-card{grid-column:2;grid-row:3;margin-top:0}body.landscape-view .page.active[data-page="split"]{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:12px}body.landscape-view .page[data-page="split"]>.section-title{grid-column:1/-1;padding:4px 8px 0}body.landscape-view .page[data-page="split"]>.detail-card{margin-bottom:0}body.landscape-view .page.active[data-page="settings"]{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:12px}body.landscape-view .page[data-page="settings"]>.section-title,body.landscape-view .page[data-page="settings"]>.formula-note,body.landscape-view .page[data-page="settings"]>.reset-button{grid-column:1/-1}body.landscape-view .page[data-page="settings"]>.section-title{padding:4px 8px 0}body.landscape-view .page[data-page="settings"]>.settings-left-stack{grid-column:1;grid-row:2}body.landscape-view .page[data-page="settings"]>.loan-settings-card{grid-column:2;grid-row:2;margin:0}body.landscape-view .page[data-page="settings"]>.formula-note{grid-row:3;margin-top:0}body.landscape-view .page[data-page="settings"]>.reset-button{grid-row:4;margin-top:0}
@media (max-width:680px){body.landscape-view .app-shell{padding-left:12px;padding-right:12px}body.landscape-view .page.active[data-page="overview"]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}body.landscape-view .hero-card{padding:14px}body.landscape-view .card-heading h2{font-size:20px}body.landscape-view .card-heading p{font-size:13px}body.landscape-view .metric{gap:7px;padding-top:12px;padding-bottom:12px}body.landscape-view .mini-icon{width:34px;height:34px}body.landscape-view .metric strong{font-size:17px}body.landscape-view .metric small{font-size:12px}body.landscape-view .person-card{padding:14px 11px}body.landscape-view .person-heading h3{font-size:18px}body.landscape-view .row{font-size:13px}}
.app-header.has-section-heading{padding-bottom:14px}.app-header .section-title.in-topbar{padding:5px 0 0;margin:0}.app-header .section-title.in-topbar h2{font-size:18px;letter-spacing:-.025em}.app-header .section-title.in-topbar p{margin:2px 0 0;font-size:12px;line-height:1.3}
body.landscape-view .page[data-page="overview"]>.split-grid{grid-row:1;grid-template-columns:1fr 1fr;gap:10px}body.landscape-view .page[data-page="overview"]>.split-grid .person-card{padding:16px 12px}body.landscape-view .page[data-page="overview"]>.split-grid .row{gap:6px}body.landscape-view .page[data-page="overview"]>.split-grid .row span{max-width:65%}
.individual-log-actions.actions-in-cards{display:none}.person-card .log-payments-button{margin:12px 0 0;padding:12px 8px;font-size:13px;line-height:1.25}
.detail-list>button strong{color:var(--blue)}.detail-list strong.positive{color:var(--green)!important}.detail-list strong.interest-value{color:#d92332!important}.interest-value{color:#d92332!important}.amount-shortcut-link{color:inherit;text-decoration:none;cursor:pointer}.amount-shortcut-link:hover{text-decoration:underline;text-underline-offset:3px}.amount-shortcut-link:focus-visible{outline:2px solid #6817d8;outline-offset:3px;border-radius:4px}
.person-card.partner,.person-card.me{background:var(--card)}.song-card{background:linear-gradient(135deg,rgba(247,248,255,.94),rgba(244,240,255,.92))}

@media (min-width:760px){
  .page.active[data-page="settings"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px}
  .page[data-page="settings"]>.section-title,.page[data-page="settings"]>.formula-note,.page[data-page="settings"]>.reset-button{grid-column:1/-1}
  .page[data-page="settings"]>.settings-left-stack{grid-column:1;grid-row:2}
  .page[data-page="settings"]>.loan-settings-card{grid-column:2;grid-row:2;margin:0}
  .page[data-page="settings"]>.formula-note{grid-row:3;margin-top:0}
  .page[data-page="settings"]>.reset-button{grid-row:4;margin-top:0}
  body.landscape-view .page.active[data-page="settings"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  body.landscape-view .page[data-page="settings"]>.settings-left-stack{grid-column:1;grid-row:2}
  body.landscape-view .page[data-page="settings"]>.loan-settings-card{grid-column:2;grid-row:2;margin:0}
  body.landscape-view .page[data-page="settings"]>.formula-note{grid-row:3}
  body.landscape-view .page[data-page="settings"]>.reset-button{grid-row:4}
}

@media (max-width:759px){
  .page[data-page="settings"]>.loan-settings-card{margin-top:18px}
}

.theme-mode-wrap{display:grid;gap:8px;padding:12px 18px 14px;border-top:1px solid var(--line)}
.theme-mode-label{display:flex;flex-direction:column;gap:3px}
.theme-mode-label span{color:var(--text);font-size:14px;font-weight:700}
.theme-mode-label small{color:var(--muted);font-size:12px}
.theme-mode-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.settings-card .theme-mode-choice button{justify-content:center;min-height:34px;padding:7px 9px;border:1px solid rgba(30,45,80,.1);border-radius:11px;background:rgba(244,247,252,.75);color:var(--muted);font-size:13px;font-weight:750}
.settings-card .theme-mode-choice button.selected{color:#6817d8;background:linear-gradient(135deg,#f1e8ff,#eaf2ff);box-shadow:inset 0 0 0 2px #7d18ef}
.settings-left-stack>.name-settings-card{margin-top:0}

html.dark-mode{background:#0b1020}
body.dark-mode{--bg:#0b1020;--card:rgba(25,32,49,.96);--text:#f2f5ff;--muted:#a8b2cc;--line:rgba(185,198,226,.14);--blue:#68a0ff;--violet:#bb8cff;--pink:#ff76a8;--green:#48d697;--orange:#ffab68;--danger:#ff7582;--shadow:0 20px 60px rgba(0,0,0,.28);color:var(--text);background:linear-gradient(180deg,#0b1020 0,#12192a 100%)}
body.dark-mode .desktop-bg{background:radial-gradient(circle at 18% 8%,rgba(45,111,255,.11),transparent 30%),radial-gradient(circle at 83% 16%,rgba(151,48,245,.11),transparent 28%),radial-gradient(circle at 74% 82%,rgba(11,154,83,.08),transparent 26%)}
body.dark-mode .app-shell{background:rgba(15,21,35,.92);border-color:#242b3c}
body.dark-mode .app-shell::before{opacity:.16}
body.dark-mode .glass-card,body.dark-mode .person-card,body.dark-mode .detail-card,body.dark-mode .settings-card,body.dark-mode .formula-note,body.dark-mode .insight-card,body.dark-mode .timeline-card,body.dark-mode .mini-card{border-color:rgba(193,205,232,.10)}
body.dark-mode .person-card.partner,body.dark-mode .person-card.me{background:var(--card)}
body.dark-mode .row span,body.dark-mode .detail-list span,body.dark-mode .settings-card span,body.dark-mode .payment-history-row span{color:var(--muted)}
body.dark-mode .metric-value-pink{color:#ff76a8}body.dark-mode .metric-value-blue{color:#78adff}body.dark-mode .metric-value-violet{color:#bd91ff}body.dark-mode .metric-value-orange{color:#ffad70}body.dark-mode .metric-value-green{color:#4bdb9b}body.dark-mode .metric-value-red{color:#ff7582}body.dark-mode .metric-value-yellow{color:#ffd166}
body.dark-mode .share-pill{background:linear-gradient(135deg,rgba(119,34,60,.38),rgba(74,30,52,.5))}body.dark-mode .share-pill small{color:#e5bdca}body.dark-mode .share-pill strong{color:#ff7582}body.dark-mode .balance-progress{background:rgba(255,117,130,.2)}body.dark-mode .balance-progress span{background:linear-gradient(90deg,#ff9aa5,#ff526e)}
body.dark-mode .insight-card{background:linear-gradient(135deg,#1b2235,#211c34)}body.dark-mode .song-card{background:linear-gradient(135deg,#211b34,#192739);border-color:rgba(193,205,232,.10)}
body.dark-mode .donut::after{background:#191f30}
body.dark-mode .settings-card .person-choice button,body.dark-mode .settings-card .view-mode-choice button,body.dark-mode .settings-card .theme-mode-choice button{border-color:rgba(193,205,232,.14);background:#20283a;color:var(--muted)}
body.dark-mode .settings-card .person-choice button.selected,body.dark-mode .settings-card .view-mode-choice button.selected,body.dark-mode .settings-card .theme-mode-choice button.selected{color:#dec9ff;background:linear-gradient(135deg,#382750,#25324c);box-shadow:inset 0 0 0 2px #9a5df2}
body.dark-mode .settings-card .name-edit-grid button{border-color:rgba(193,205,232,.12);background:#20283a}
body.dark-mode .loan-start-setting input,body.dark-mode .currency-setting select{border-color:rgba(193,205,232,.16);background:#20283a;color:var(--text)}
body.dark-mode .repayment-chart-card{border-color:rgba(193,205,232,.10)}body.dark-mode .chart-gridline{stroke:rgba(193,205,232,.18)}body.dark-mode .chart-label{fill:#aab5ce}
body.dark-mode .loan-date-card{border-color:rgba(193,205,232,.10)}body.dark-mode .loan-date-badge{color:#dec9ff;background:linear-gradient(135deg,#382750,#25324c)}

body.dark-mode .principal-share-card{border-color:rgba(193,205,232,.10)}
body.dark-mode .interest-estimate-card{border-color:rgba(193,205,232,.10);background:linear-gradient(140deg,rgba(39,31,56,.94),rgba(27,38,58,.94))}body.dark-mode .interest-estimate-grid>div{background:rgba(20,27,43,.68)}
body.dark-mode .tab-bar{background:rgba(24,30,46,.94);border-color:rgba(193,205,232,.12);box-shadow:0 16px 45px rgba(0,0,0,.38)}body.dark-mode .tab{color:#a0abc5}body.dark-mode .tab.active{background:linear-gradient(135deg,#35254e,#25324a);color:#d0aaff}
body.dark-mode .formula-note{background:linear-gradient(145deg,#211b34,#192536)}
body.dark-mode .bottom-sheet{background:#191f30;color:var(--text)}body.dark-mode .grabber{background:#47516a}body.dark-mode .close-sheet{background:#2a3348;color:#c6cde0}
body.dark-mode .icon-button{background:rgba(33,42,62,.78);box-shadow:inset 0 0 0 1px rgba(193,205,232,.15);color:#e0e6f7}
body.dark-mode.landscape-view .app-shell{background:rgba(15,21,35,.92)}
.principal-share-card{grid-column:1/-1;margin-top:14px;padding:19px;border:1px solid rgba(255,255,255,.85);border-radius:25px;background:var(--card);box-shadow:var(--shadow);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.principal-share-heading h3{margin:0;font-size:19px;letter-spacing:-.02em}.principal-share-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}.principal-share-values{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:15px}.principal-share-values>div{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:3px 8px;min-width:0}.principal-share-values>div>span{color:var(--muted);font-size:13px;font-weight:700}.principal-share-values strong{font-size:17px;white-space:nowrap}.principal-share-values small{grid-column:1/-1;color:var(--muted);font-size:12px}.principal-share-track{display:flex;height:15px;margin-top:12px;border-radius:999px;overflow:hidden;background:rgba(116,128,153,.16)}.principal-share-track span{display:block;width:0;transition:width .3s ease}.principal-share-track span:first-child{background:#246bfd}.principal-share-track span:last-child{background:#12a46f}.principal-share-empty{margin:8px 0 0;color:var(--muted);font-size:12px}

.season-theme-label{display:flex;flex-direction:column;gap:3px;margin-top:2px}.season-theme-label span{color:var(--text);font-size:14px;font-weight:700}.season-theme-label small{color:var(--muted);font-size:12px}.season-theme-choice{grid-template-columns:repeat(2,minmax(0,1fr))!important}.settings-card .season-theme-choice button{white-space:nowrap}
body.season-birthday{--violet:#d9469c;--pink:#ef5da8;background:linear-gradient(180deg,#fff5fb 0,#f7f2ff 100%)}
body.season-birthday .desktop-bg{background:radial-gradient(circle at 18% 8%,rgba(248,113,180,.19),transparent 31%),radial-gradient(circle at 83% 16%,rgba(168,85,247,.16),transparent 29%),radial-gradient(circle at 74% 82%,rgba(251,191,36,.12),transparent 26%)}
body.season-halloween{--violet:#8b5cf6;--orange:#f97316;--pink:#a855f7;background:linear-gradient(180deg,#faf5ff 0,#fff7ed 100%)}
body.season-halloween .desktop-bg{background:radial-gradient(circle at 18% 8%,rgba(249,115,22,.18),transparent 31%),radial-gradient(circle at 83% 16%,rgba(124,58,237,.19),transparent 29%),radial-gradient(circle at 74% 82%,rgba(234,88,12,.12),transparent 26%)}
body.season-christmas{--violet:#12805c;--green:#13804f;--pink:#c9263e;background:linear-gradient(180deg,#f1fbf5 0,#fff5f5 100%)}
body.season-christmas .desktop-bg{background:radial-gradient(circle at 18% 8%,rgba(22,163,74,.18),transparent 31%),radial-gradient(circle at 83% 16%,rgba(220,38,38,.16),transparent 29%),radial-gradient(circle at 74% 82%,rgba(16,128,92,.12),transparent 26%)}
body.season-birthday .settings-card .selected,body.season-birthday .tab.active{color:#b42374!important;background:linear-gradient(135deg,#ffe5f2,#f1e8ff)!important;box-shadow:inset 0 0 0 2px #d9469c!important}
body.season-halloween .settings-card .selected,body.season-halloween .tab.active{color:#6d28d9!important;background:linear-gradient(135deg,#fff0df,#f1e8ff)!important;box-shadow:inset 0 0 0 2px #f97316!important}
body.season-christmas .settings-card .selected,body.season-christmas .tab.active{color:#08734f!important;background:linear-gradient(135deg,#e4f8eb,#fff0f0)!important;box-shadow:inset 0 0 0 2px #13804f!important}
body.dark-mode.season-birthday,body.dark-mode.season-halloween,body.dark-mode.season-christmas{background:linear-gradient(180deg,#101626 0,#19192b 100%)}
body.dark-mode.season-birthday .desktop-bg{background:radial-gradient(circle at 18% 8%,rgba(217,70,156,.16),transparent 31%),radial-gradient(circle at 83% 16%,rgba(168,85,247,.15),transparent 29%),radial-gradient(circle at 74% 82%,rgba(251,191,36,.08),transparent 26%)}
body.dark-mode.season-halloween .desktop-bg{background:radial-gradient(circle at 18% 8%,rgba(249,115,22,.15),transparent 31%),radial-gradient(circle at 83% 16%,rgba(124,58,237,.17),transparent 29%),radial-gradient(circle at 74% 82%,rgba(234,88,12,.08),transparent 26%)}
body.dark-mode.season-christmas .desktop-bg{background:radial-gradient(circle at 18% 8%,rgba(22,163,74,.15),transparent 31%),radial-gradient(circle at 83% 16%,rgba(220,38,38,.14),transparent 29%),radial-gradient(circle at 74% 82%,rgba(16,128,92,.08),transparent 26%)}
body.dark-mode.season-birthday .settings-card .selected,body.dark-mode.season-birthday .tab.active{color:#ffd0e7!important;background:linear-gradient(135deg,#49213d,#35254e)!important;box-shadow:inset 0 0 0 2px #d9469c!important}
body.dark-mode.season-halloween .settings-card .selected,body.dark-mode.season-halloween .tab.active{color:#e6d5ff!important;background:linear-gradient(135deg,#48251d,#35254e)!important;box-shadow:inset 0 0 0 2px #f97316!important}
body.dark-mode.season-christmas .settings-card .selected,body.dark-mode.season-christmas .tab.active{color:#c4f1d3!important;background:linear-gradient(135deg,#19392c,#263944)!important;box-shadow:inset 0 0 0 2px #13804f!important}

.halloween-decorations{display:none}
body.season-halloween .halloween-decorations{display:block;position:fixed;z-index:12;inset:0;overflow:hidden;pointer-events:none}
.halloween-pumpkin,.halloween-bat{position:absolute;display:block;filter:drop-shadow(0 3px 4px rgba(40,20,55,.20))}
.halloween-pumpkin{width:30px;height:30px;opacity:.58;animation:pumpkin-bob 5s ease-in-out infinite}
.pumpkin-one{top:15%;left:max(12px,calc((100vw - 980px)/2 - 24px));transform:rotate(-12deg)}
.pumpkin-two{top:43%;right:max(12px,calc((100vw - 980px)/2 - 22px));width:25px;height:25px;animation-delay:-1.8s}
.pumpkin-three{bottom:23%;left:max(28px,calc((100vw - 980px)/2 + 26px));width:23px;height:23px;animation-delay:-3s}
.halloween-bat{width:39px;height:23px;opacity:.45;animation:bat-flight 11s ease-in-out infinite alternate}
.bat-one{top:24%;left:24%;animation-delay:-2s}.bat-two{top:57%;left:68%;width:31px;height:18px;animation-delay:-7s}.bat-three{top:78%;left:44%;width:27px;height:16px;animation-delay:-4s}
@keyframes bat-flight{0%{transform:translate3d(-18px,8px,0) rotate(-9deg) scale(.92)}50%{transform:translate3d(25px,-12px,0) rotate(7deg) scale(1.05)}100%{transform:translate3d(56px,9px,0) rotate(-4deg) scale(.88)}}
@keyframes pumpkin-bob{0%,100%{translate:0 0}50%{translate:0 -5px}}
body.season-halloween .tab-bar::before,body.season-halloween .tab-bar::after{content:"";position:absolute;top:1px;width:34px;height:34px;opacity:.66;pointer-events:none;background-repeat:no-repeat;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Cpath d='M0 0h33M0 0v33M0 0Q12 5 33 33M0 9Q9 12 24 33M0 19Q6 21 15 33M9 0Q12 9 33 24M19 0Q21 6 33 15' fill='none' stroke='%23a77dcc' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
body.season-halloween .tab-bar::before{left:2px}body.season-halloween .tab-bar::after{right:2px;transform:scaleX(-1)}
@media(prefers-reduced-motion:reduce){.halloween-pumpkin,.halloween-bat{animation:none!important}}
@media(max-width:480px){.halloween-pumpkin{width:22px;height:22px}.halloween-bat{width:29px;height:18px}.pumpkin-one{top:11%}.pumpkin-two{top:48%}.pumpkin-three{bottom:20%}}

.christmas-snow-layer{position:fixed;z-index:11;inset:0;overflow:hidden;pointer-events:none}.christmas-snowflake{position:absolute;top:0;display:block;color:#b7e8f6;filter:drop-shadow(0 0 5px rgba(255,255,255,.95)) drop-shadow(0 1px 3px rgba(64,132,161,.3));animation:snowflake-fall var(--snow-duration) linear infinite;will-change:transform}.christmas-snowflake svg{display:block;width:100%;height:100%;overflow:visible}@keyframes snowflake-fall{from{transform:translate3d(0,-10vh,0) rotate(0)}to{transform:translate3d(var(--snow-drift),110vh,0) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.christmas-snowflake{animation:none!important}}

.avatar{position:relative}.seasonal-avatar{display:none;position:absolute;inset:0;width:100%;height:100%;border-radius:50%;overflow:hidden}.seasonal-avatar svg{display:block;width:100%;height:100%}
body.season-halloween .avatar.blue>svg:first-child,body.season-halloween .avatar.green>svg:first-child{display:none}
body.season-halloween .avatar .seasonal-avatar{display:block}
.christmas-avatar{display:none;position:absolute;inset:0;width:100%;height:100%;border-radius:50%;overflow:hidden}.christmas-avatar svg{display:block;width:100%;height:100%}body.season-christmas .avatar.blue>svg:first-child,body.season-christmas .avatar.green>svg:first-child{display:none}body.season-christmas .avatar.blue .christmas-avatar,body.season-christmas .avatar.green .christmas-avatar{display:block}
body.season-christmas #logBenOverviewButton,body.season-christmas #logJerryOverviewButton{position:relative;border:5px solid transparent;border-radius:999px;background:linear-gradient(135deg,#12683f,#19854b) padding-box,repeating-conic-gradient(#145c38 0deg 10deg,#2f9652 10deg 20deg,#65ae69 20deg 28deg) border-box;box-shadow:0 0 0 2px rgba(184,47,59,.25),0 8px 20px rgba(18,104,63,.24);overflow:visible}
.halloween-loan-bucket{display:none}body.season-halloween .halloween-loan-bucket{display:block;flex:0 0 auto;width:58px;height:62px;margin-left:auto;filter:drop-shadow(0 3px 4px rgba(40,20,55,.22));animation:pumpkin-bob 4.2s ease-in-out infinite}
@media(max-width:480px){body.season-halloween .halloween-loan-bucket{width:46px;height:50px}}

body.season-pink{--bg:#fff3f8;--blue:#dc4894;--violet:#d9469c;--pink:#e84594;--green:#cf3985;--orange:#df4c91;--danger:#ca377d;background:linear-gradient(180deg,#fff2f8 0,#fce8f2 100%)}
body.season-pink .desktop-bg{background:radial-gradient(circle at 18% 8%,rgba(255,105,180,.24),transparent 31%),radial-gradient(circle at 83% 16%,rgba(219,39,119,.18),transparent 29%),radial-gradient(circle at 74% 82%,rgba(244,114,182,.18),transparent 26%)}
body.season-pink .metric-value-red,body.season-pink .metric-value-green,body.season-pink .metric-value-blue,body.season-pink .metric-value-violet,body.season-pink .metric-value-orange,body.season-pink .metric-value-yellow,body.season-pink .positive,body.season-pink .interest-value{color:#d43c89!important}
body.season-pink .primary-button,body.season-pink .payment-hero{background:linear-gradient(135deg,#ec4899,#be185d)}
body.season-pink .settings-card .selected,body.season-pink .tab.active{color:#b42370!important;background:linear-gradient(135deg,#ffe4f0,#fbcfe8)!important;box-shadow:inset 0 0 0 2px #e34c9b!important}
body.dark-mode.season-pink{background:linear-gradient(180deg,#211421 0,#301a2c 100%)}body.dark-mode.season-pink .desktop-bg{background:radial-gradient(circle at 18% 8%,rgba(236,72,153,.18),transparent 31%),radial-gradient(circle at 83% 16%,rgba(190,24,93,.16),transparent 29%),radial-gradient(circle at 74% 82%,rgba(244,114,182,.10),transparent 26%)}
body.dark-mode.season-pink .settings-card .selected,body.dark-mode.season-pink .tab.active{color:#ffd2e7!important;background:linear-gradient(135deg,#49213d,#58304b)!important;box-shadow:inset 0 0 0 2px #e34c9b!important}
body.season-pokemon{--bg:#fffbea;--blue:#2671d8;--violet:#2864c7;--pink:#e64242;--green:#27924e;--orange:#f0b429;--danger:#d84040;background:linear-gradient(180deg,#fffbea 0,#eef7ff 100%)}
body.season-pokemon .desktop-bg{background:radial-gradient(circle at 18% 8%,rgba(250,204,21,.23),transparent 31%),radial-gradient(circle at 83% 16%,rgba(37,99,235,.18),transparent 29%),radial-gradient(circle at 74% 82%,rgba(239,68,68,.13),transparent 26%)}
body.season-pokemon .app-shell::before{background:linear-gradient(135deg,#facc15 0%,#2563eb 58%,#ef4444 100%);opacity:.12}
body.season-pokemon .primary-button{background:linear-gradient(135deg,#2563eb,#eab308);box-shadow:0 10px 26px rgba(37,99,235,.22)}
body.season-pokemon .payment-hero{background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 48%,#eab308 100%)}
body.season-pokemon .settings-card .selected,body.season-pokemon .tab.active{color:#174ea6!important;background:linear-gradient(135deg,#fff4b8,#dcecff)!important;box-shadow:inset 0 0 0 2px #eab308!important}
body.dark-mode.season-pokemon{background:linear-gradient(180deg,#111827 0,#1b2338 100%)}body.dark-mode.season-pokemon .desktop-bg{background:radial-gradient(circle at 18% 8%,rgba(250,204,21,.14),transparent 31%),radial-gradient(circle at 83% 16%,rgba(37,99,235,.17),transparent 29%),radial-gradient(circle at 74% 82%,rgba(239,68,68,.10),transparent 26%)}
body.dark-mode.season-pokemon .settings-card .selected,body.dark-mode.season-pokemon .tab.active{color:#fff0a6!important;background:linear-gradient(135deg,#293757,#493a24)!important;box-shadow:inset 0 0 0 2px #eab308!important}
body.season-pink .hero-card .mini-icon,body.season-pink .hero-card .round-icon{background:#ffe3ef;color:#d43c89}
body.season-pink .app-header .eyebrow{color:#d43c89}

@media(max-width:520px){.loan-date-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

body.season-rain{--bg:#eef5fa;--blue:#4079b5;--violet:#5579ae;--pink:#7799c5;--green:#398d88;--orange:#8b789b;--danger:#c35f70;background:linear-gradient(180deg,#edf5fb 0,#e6eef5 100%)}
body.season-rain .desktop-bg{background:radial-gradient(circle at 18% 8%,rgba(119,170,208,.20),transparent 31%),radial-gradient(circle at 83% 16%,rgba(117,137,177,.16),transparent 29%),radial-gradient(circle at 74% 82%,rgba(91,154,160,.13),transparent 26%)}
body.season-rain .desktop-bg::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(108deg,transparent 0 50px,rgba(75,117,157,.08) 51px,transparent 52px 102px);animation:rain-drift 2.8s linear infinite}
@keyframes rain-drift{to{background-position:0 102px}}
.rain-splash-layer{position:fixed;inset:0;z-index:30;overflow:hidden;pointer-events:none;contain:strict}
.rain-streak{position:absolute;top:-58px;width:34px;height:52px;transform:translateX(-50%);animation:rain-pour var(--fall-duration) cubic-bezier(.36,.02,.75,.98) forwards;will-change:transform}
.rain-drop{position:absolute;top:0;left:50%;width:calc(17px * var(--drop-scale));height:calc(30px * var(--drop-scale));transform:translateX(-50%) rotate(-8deg);border-radius:55% 45% 62% 62% / 68% 66% 38% 38%;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(157,221,255,.91) 24%,rgba(76,160,213,.78) 66%,rgba(228,249,255,.86));box-shadow:inset -2px -2px 4px rgba(38,104,154,.2),0 2px 10px rgba(72,146,194,.24);opacity:.84;transition:opacity .05s}
.rain-impact{position:absolute;left:50%;bottom:0;width:25px;height:9px;border:2px solid rgba(87,165,207,.62);border-radius:50%;opacity:0;transform:translateX(-50%) scale(.25,.35)}
.rain-spray{position:absolute;left:50%;bottom:4px;width:3px;height:3px;border-radius:50%;background:rgba(116,191,231,.78);opacity:0;transform:translateX(-50%);box-shadow:-10px -2px 0 rgba(116,191,231,.72),10px -3px 0 rgba(116,191,231,.68),-6px -8px 0 rgba(116,191,231,.58),7px -9px 0 rgba(116,191,231,.62)}
.rain-streak.is-splashed .rain-drop{opacity:0}
.rain-streak.is-splashed .rain-impact{animation:rain-ring-splash .46s ease-out forwards}
.rain-streak.is-splashed .rain-spray{animation:rain-spray-splash .38s ease-out forwards}
@keyframes rain-pour{0%{transform:translate(-50%,0)}88%{transform:translate(-50%,calc(var(--fall-distance) - 12px))}100%{transform:translate(-50%,var(--fall-distance))}}
@keyframes rain-ring-splash{0%{opacity:.72;transform:translateX(-50%) scale(.22,.3)}100%{opacity:0;transform:translateX(-50%) scale(1.18,.8)}}
@keyframes rain-spray-splash{0%{opacity:.78;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-7px)}}
body.dark-mode.season-rain .rain-drop{background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(180,231,255,.94) 24%,rgba(94,184,236,.86) 66%,rgba(236,251,255,.92));box-shadow:inset -2px -2px 4px rgba(32,87,124,.25),0 2px 13px rgba(96,184,230,.38)}body.dark-mode.season-rain .rain-impact{border-color:rgba(164,220,250,.78)}body.dark-mode.season-rain .rain-spray{background:rgba(178,226,250,.86);box-shadow:-10px -2px 0 rgba(178,226,250,.8),10px -3px 0 rgba(178,226,250,.76),-6px -8px 0 rgba(178,226,250,.68),7px -9px 0 rgba(178,226,250,.72)}
body.dark-mode.season-rain{background:linear-gradient(180deg,#101b2a 0,#182635 100%)}body.dark-mode.season-rain .desktop-bg{background:radial-gradient(circle at 18% 8%,rgba(76,132,184,.17),transparent 31%),radial-gradient(circle at 83% 16%,rgba(91,111,158,.15),transparent 29%),radial-gradient(circle at 74% 82%,rgba(55,128,130,.11),transparent 26%)}body.dark-mode.season-rain .desktop-bg::after{background-image:repeating-linear-gradient(108deg,transparent 0 50px,rgba(171,209,233,.09) 51px,transparent 52px 102px)}
body.season-rain .settings-card .selected,body.season-rain .tab.active{color:#315f91!important;background:linear-gradient(135deg,#dcecf8,#e5e9f5)!important;box-shadow:inset 0 0 0 2px #7098c3!important}
body.dark-mode.season-rain .settings-card .selected,body.dark-mode.season-rain .tab.active{color:#c5e7ff!important;background:linear-gradient(135deg,#233b52,#2e314c)!important;box-shadow:inset 0 0 0 2px #7098c3!important}
@media(prefers-reduced-motion:reduce){body.season-rain .desktop-bg::after{animation:none!important}.rain-splash-layer{display:none!important}}
body.season-neon{--bg:#0b0d1a;--card:rgba(21,23,43,.96);--text:#f4f7ff;--muted:#a6b0cb;--line:rgba(100,255,236,.19);--blue:#30dfff;--violet:#c451ff;--pink:#ff46bd;--green:#48ff9b;--orange:#ffe45c;--danger:#ff5b83;color:var(--text);background:linear-gradient(145deg,#0b0d1a 0,#17102c 55%,#091b25 100%)}
body.season-neon .desktop-bg{background:radial-gradient(circle at 18% 8%,rgba(37,231,255,.19),transparent 31%),radial-gradient(circle at 83% 16%,rgba(205,60,255,.19),transparent 29%),radial-gradient(circle at 74% 82%,rgba(49,255,151,.11),transparent 26%)}
body.season-neon .app-shell,body.landscape-view.season-neon .app-shell{background:rgba(12,14,28,.84);border-color:rgba(62,245,255,.42);box-shadow:0 20px 80px rgba(0,0,0,.36),0 0 28px rgba(51,225,255,.11)}
body.season-neon .glass-card,body.season-neon .person-card,body.season-neon .detail-card,body.season-neon .settings-card,body.season-neon .formula-note,body.season-neon .insight-card,body.season-neon .timeline-card,body.season-neon .mini-card,body.season-neon .loan-date-card,body.season-neon .interest-estimate-card,body.season-neon .principal-share-card,body.season-neon .repayment-chart-card,body.season-neon .song-card{background:var(--card);border-color:rgba(71,245,255,.19);color:var(--text);box-shadow:0 8px 34px rgba(0,0,0,.2),0 0 18px rgba(87,57,255,.08)}
body.season-neon .person-card.partner,body.season-neon .person-card.me{background:var(--card)}body.season-neon .donut::after{background:#17192d}
body.season-neon .tab-bar{background:rgba(16,18,34,.95);border-color:rgba(77,245,255,.3);box-shadow:0 10px 32px rgba(0,0,0,.4),0 0 18px rgba(60,224,255,.13)}body.season-neon .tab{color:#9ca9c4}body.season-neon .tab.active{color:#63fff0;background:linear-gradient(135deg,#1b3450,#352044);box-shadow:inset 0 0 0 2px #56eeff,0 0 15px rgba(86,238,255,.19)}
body.season-neon .settings-card .person-choice button,body.season-neon .settings-card .view-mode-choice button,body.season-neon .settings-card .theme-mode-choice button,body.season-neon .loan-start-setting input,body.season-neon .currency-setting select{background:#171a30;border-color:rgba(91,237,255,.2);color:var(--muted)}body.season-neon .settings-card .selected{color:#7ffff2!important;background:linear-gradient(135deg,#1a3a4b,#38204b)!important;box-shadow:inset 0 0 0 2px #59f3ff,0 0 14px rgba(89,243,255,.18)!important}
body.season-neon .primary-button{background:linear-gradient(110deg,#0ec8ec,#8a32f3,#ef38ad);box-shadow:0 8px 26px rgba(84,67,255,.28),0 0 15px rgba(39,231,255,.12)}body.season-neon .payment-hero{background:linear-gradient(135deg,#092840,#32205f 55%,#671d60);box-shadow:inset 0 0 0 1px rgba(87,241,255,.25)}body.season-neon .app-header .eyebrow{color:#69fff0;text-shadow:0 0 10px rgba(66,247,255,.45)}
body.season-neon .hero-card{border:2px solid #38f5ff;box-shadow:0 12px 42px rgba(0,0,0,.28),0 0 10px rgba(56,245,255,.78),0 0 28px rgba(56,245,255,.42),inset 0 0 20px rgba(56,245,255,.08)}
body.season-neon .hero-card .card-heading h2{color:#eaffff;text-shadow:0 0 4px #fff,0 0 9px #45f7ff,0 0 18px #45f7ff,0 0 30px rgba(196,81,255,.85)}
@media(prefers-reduced-motion:reduce){body.season-rain .desktop-bg::after{animation:none!important}}

/* Repayment page layouts adapt independently from the rest of the app. */
@media(max-width:520px){
  .page[data-page="repayments"]>.section-title{padding-bottom:12px}
  .page[data-page="repayments"] .payment-hero{padding:18px;border-radius:24px}
  .page[data-page="repayments"] .payment-hero>.eyebrow{font-size:10px;letter-spacing:.13em;line-height:1.35}
  .page[data-page="repayments"] .big-edit strong{font-size:clamp(36px,10vw,45px)}
  .page[data-page="repayments"] .bar-labels{gap:12px;font-size:11px}
  .page[data-page="repayments"] .bar-labels span:last-child{text-align:right}
  .page[data-page="repayments"] .repayment-grid{gap:8px}
  .page[data-page="repayments"] .mini-card{min-width:0;padding:13px;border-radius:18px}
  .page[data-page="repayments"] .mini-card strong{font-size:clamp(19px,6vw,24px)}
  .page[data-page="repayments"] .timeline-card{padding:15px 12px}
  .page[data-page="repayments"] .timeline-card strong{font-size:clamp(20px,7vw,29px)}
  .page[data-page="repayments"] .timeline-card small,.page[data-page="repayments"] .timeline-card span{font-size:11px}
  .page[data-page="repayments"] .loan-date-card,.page[data-page="repayments"] .interest-estimate-card,.page[data-page="repayments"] .repayment-chart-card{padding:15px;border-radius:21px}
  .page[data-page="repayments"] .loan-date-heading{align-items:flex-start}
  .page[data-page="repayments"] .loan-date-badge{padding:6px 8px;font-size:10px}
  .page[data-page="repayments"] .loan-date-stats{gap:12px 8px}
  .page[data-page="repayments"] .loan-date-stats strong{font-size:clamp(13px,4.2vw,17px)}
  .page[data-page="repayments"] .interest-estimate-grid{gap:8px}
  .page[data-page="repayments"] .interest-estimate-grid>div{padding:10px}
  .page[data-page="repayments"] .repayment-chart-heading{gap:8px}
  .page[data-page="repayments"] .chart-legend{grid-template-columns:auto auto;gap:8px;font-size:11px}
  .page[data-page="repayments"] .chart-footnote{margin-left:45px}
  .page[data-page="repayments"] .detail-list>div{gap:10px;padding:13px 0}
  .page[data-page="repayments"] .detail-list span{min-width:0;overflow-wrap:anywhere}
  .page[data-page="repayments"] .detail-list strong{font-size:14px}
  .page[data-page="repayments"] .individual-log-actions{gap:8px}
  .page[data-page="repayments"] .individual-log-actions .primary-button{padding:13px 8px;font-size:12px}
  .page[data-page="repayments"] .payment-log-help{font-size:12px;line-height:1.4}
}
@media(max-width:360px){
  .page[data-page="repayments"] .repayment-grid{grid-template-columns:1fr}
  .page[data-page="repayments"] .mini-card{padding:12px 14px}
  .page[data-page="repayments"] .timeline-card{gap:4px}
  .page[data-page="repayments"] .timeline-card .arrow{font-size:20px}
  .page[data-page="repayments"] .interest-estimate-grid{grid-template-columns:1fr}
  .page[data-page="repayments"] .individual-log-actions{grid-template-columns:1fr}
}
@media(min-width:760px){
  .page.active[data-page="repayments"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px}
  .page[data-page="repayments"]>.section-title,.page[data-page="repayments"]>.payment-hero,.page[data-page="repayments"]>.repayment-grid,.page[data-page="repayments"]>.detail-card.compact,.page[data-page="repayments"]>.individual-log-actions,.page[data-page="repayments"]>.payment-log-help,.page[data-page="repayments"]>.payment-history-card{grid-column:1/-1}
  .page[data-page="repayments"]>.section-title{padding:4px 8px 0}
  .page[data-page="repayments"]>.repayment-grid,.page[data-page="repayments"]>.payment-hero,.page[data-page="repayments"]>.loan-date-card,.page[data-page="repayments"]>.interest-estimate-card,.page[data-page="repayments"]>.repayment-chart-card,.page[data-page="repayments"]>.detail-card.compact,.page[data-page="repayments"]>.payment-history-card{margin:0}
  .page[data-page="repayments"]>.timeline-card,.page[data-page="repayments"]>.loan-date-card{min-width:0}
  .page[data-page="repayments"]>.interest-estimate-card,.page[data-page="repayments"]>.repayment-chart-card{align-self:stretch}
  .page[data-page="repayments"]>.individual-log-actions{margin:0}
  .page[data-page="repayments"]>.payment-log-help{margin:0}
}

.cloud-account-card{padding:16px 18px;margin:0}.cloud-account-card h3{margin:0 0 5px;font-size:18px}.cloud-copy,.cloud-notice{margin:4px 0 12px;color:var(--muted);font-size:13px;line-height:1.45}.cloud-notice{padding:10px 12px;border-radius:13px;background:rgba(245,158,11,.12);color:#8a5700}.cloud-account-card label{display:grid;gap:5px;margin-top:9px;color:var(--muted);font-size:12px;font-weight:650}.cloud-account-card input,.cloud-account-card select{width:100%;min-width:0;border:1px solid rgba(30,45,80,.14);border-radius:12px;padding:10px 12px;background:rgba(244,247,252,.85);color:var(--text);font:inherit;font-size:14px}.cloud-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.cloud-actions button,.invite-form button,.ledger-tools form button,.secondary-action,.sync-status button,.import-preview button,.member-line button,.ledger-row button{border-radius:12px;padding:10px 12px;background:linear-gradient(135deg,#1967ff,#7d18ef);color:#fff;font-size:13px;font-weight:750}.text-action{padding:8px 0;color:#6817d8;font-size:12px;font-weight:700}.account-row,.member-line{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--line);font-size:13px}.account-row span{overflow-wrap:anywhere;color:var(--muted)}#workspacePanel>h4,.member-list h4,.ledger-tools h4{margin:12px 0 6px;font-size:15px}.invite-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.invite-form label:first-child{grid-column:1/-1}.invite-form label{margin-top:4px}.invite-form output{grid-column:1/-1;display:flex;gap:6px;align-items:center;min-width:0}.invite-form output input{min-width:0}.invite-form output button{flex:0 0 auto;border-radius:10px;padding:10px;background:#e9e3fb;color:#6717d8;font-weight:750}.member-line span{overflow-wrap:anywhere}.member-line button,.ledger-row button{padding:7px 9px;background:#fff0f2;color:#ac2437;flex:0 0 auto}.sync-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:10px 11px;border-radius:12px;background:rgba(239,244,252,.8);font-size:12px;color:var(--muted)}.sync-status button{padding:7px 9px;font-size:11px}.sync-status .is-error{color:#b42332;font-weight:750}.secondary-action{width:100%;margin-top:9px;background:rgba(104,23,216,.1);color:#6817d8}.import-preview{padding:10px;margin-top:8px;border:1px solid var(--line);border-radius:13px;font-size:12px;line-height:1.45}.import-preview p{margin:0 0 8px}.import-preview button{margin:4px 5px 0 0}.ledger-tools{margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}.ledger-tools>p{margin:0 0 8px;color:var(--muted);font-size:12px;line-height:1.4}.ledger-tools form{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ledger-tools form input[name="amount"]{grid-column:1}.ledger-tools form input[name="note"]{grid-column:2}.ledger-tools form button{grid-column:1/-1}.ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:9px 0;border-top:1px solid var(--line);font-size:12px}.ledger-row strong,.ledger-row small{grid-column:1}.ledger-row small{color:var(--muted);line-height:1.35}.ledger-row button{grid-column:2;grid-row:1/3;align-self:center}.ledger-row button+button{grid-column:3}body.dark-mode .cloud-account-card input,body.dark-mode .cloud-account-card select{background:#20283a;border-color:rgba(193,205,232,.14)}body.dark-mode .sync-status{background:#20283a}body.dark-mode .invite-form output button{background:#302642;color:#dec9ff}

.personal-offset-accounts{margin-top:0;padding:9px 2px 6px;border-top:1px solid var(--line)}.offset-account-empty{margin:6px 0 2px;color:var(--muted);font-size:12px;line-height:1.45}.offset-account-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.offset-account-heading>strong{font-size:14px}.offset-account-add,.offset-account-actions button{padding:7px 10px;border-radius:10px;background:rgba(104,23,216,.1);color:#6817d8;font-size:12px;font-weight:750}.offset-account-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.offset-account-info{display:grid;gap:3px;min-width:0}.offset-account-info span{overflow-wrap:anywhere;color:var(--muted);font-size:13px}.offset-account-info strong{font-size:15px;color:var(--blue,#1767e8)}.offset-account-actions{display:flex;gap:6px;flex:0 0 auto}.offset-account-actions button:last-child{background:rgba(220,40,62,.09);color:#b42332}.account-name-input{display:grid;gap:8px;margin-top:16px;font-size:13px;font-weight:700;color:var(--muted)}.account-name-input[hidden]{display:none}.account-name-input input{width:100%;height:52px;border:1px solid var(--line);border-radius:14px;padding:0 14px;background:rgba(244,246,251,.9);color:var(--text);font:inherit;font-size:16px;outline-color:#7d36ed}body.dark-mode .offset-account-add,body.dark-mode .offset-account-actions button{background:#302642;color:#dec9ff}body.dark-mode .offset-account-actions button:last-child{background:#39242d;color:#ffb8c0}body.dark-mode .account-name-input input{background:#20283a;border-color:rgba(193,205,232,.14)}
.tab-icon.offset-tab-logo{width:23px;height:23px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tab-icon.bills-tab-logo{width:23px;height:23px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.page[data-page="bills"]{padding-bottom:12px}
.bill-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.bill-summary-card{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:5px;padding:17px 18px;border-radius:22px;background:var(--card);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);backdrop-filter:blur(20px)}
.bill-summary-card>span{color:var(--muted);font-size:13px;font-weight:650}.bill-summary-card>strong{font-size:clamp(20px,3vw,27px);letter-spacing:-.04em;overflow-wrap:anywhere}.bill-summary-card>small{color:var(--muted);font-size:12px}.bill-summary-primary{background:linear-gradient(135deg,rgba(238,230,255,.96),rgba(231,244,255,.96))}.bill-summary-primary>strong{color:#6c18d9}.bill-summary-primary{width:100%;font:inherit;color:var(--text);text-align:left;appearance:none;cursor:pointer}.bill-summary-primary:focus-visible{outline:3px solid var(--accent,#6817d8);outline-offset:3px}
.bill-entry-card,.bill-list-card,.bill-share-card{padding:20px;border-radius:25px;margin-top:14px}.bill-section-heading,.bill-list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.bill-section-heading h3,.bill-list-heading h3{margin:0;font-size:19px;letter-spacing:-.025em}.bill-section-heading p,.bill-list-heading p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.bill-share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.bill-share-grid article{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 10px;padding:13px 15px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.42)}.bill-share-grid article>span{font-size:14px;font-weight:700}.bill-share-grid article>strong{grid-column:2;grid-row:1/3;font-size:21px;letter-spacing:-.03em}.bill-share-grid article>small{color:var(--muted);font-size:12px}
.bill-quick-add{display:grid;gap:8px;margin:15px 0 13px;color:var(--muted);font-size:12px;font-weight:650}.bill-category-chips{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.bill-category-chips button,.bill-suggestion-chips button{--bill-chip:#6817d8;padding:7px 10px;border:1px solid color-mix(in srgb,var(--bill-chip) 24%,white);border-radius:999px;background:color-mix(in srgb,var(--bill-chip) 8%,white);color:var(--bill-chip);font:inherit;font-weight:700;cursor:pointer}.bill-category-chips button[data-bill-category="house-bills"]{--bill-chip:#c56a12}.bill-category-chips button[data-bill-category="subscriptions"]{--bill-chip:#7c3aed}.bill-category-chips button[data-bill-category="personal-expenses"]{--bill-chip:#c02670}.bill-category-chips button[data-bill-category="health-beauty"]{--bill-chip:#18804b}.bill-category-chips button[data-bill-category="transport"]{--bill-chip:#2864c5}.bill-category-chips button[data-bill-category="other"]{--bill-chip:#586579}.bill-category-chips button:hover,.bill-category-chips button[aria-pressed=true],.bill-suggestion-chips button:hover,.bill-suggestion-chips button[aria-pressed=true]{border-color:color-mix(in srgb,var(--bill-chip) 48%,white);background:color-mix(in srgb,var(--bill-chip) 16%,white)}.bill-suggestion-chips[data-bill-category="house-bills"] button{--bill-chip:#c56a12}.bill-suggestion-chips[data-bill-category="subscriptions"] button{--bill-chip:#7c3aed}.bill-suggestion-chips[data-bill-category="personal-expenses"] button{--bill-chip:#c02670}.bill-suggestion-chips[data-bill-category="health-beauty"] button{--bill-chip:#18804b}.bill-suggestion-chips[data-bill-category="transport"] button{--bill-chip:#2864c5}.bill-suggestion-chips[data-bill-category="other"] button{--bill-chip:#586579}.bill-suggestion-field{display:grid;gap:7px;width:min(100%,700px);color:var(--muted);font-size:13px;font-weight:700}.bill-suggestion-chips{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.bill-quick-add [hidden]{display:none}
.bill-free-option{grid-column:1/-1}.bill-free-option[hidden]{display:none}.bill-free-option label{display:inline-flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid rgba(124,58,237,.22);border-radius:12px;background:rgba(124,58,237,.06);color:#6d36c5;font-size:13px;font-weight:750;cursor:pointer}.bill-free-option input{width:17px;height:17px;min-width:17px;margin:0;accent-color:#7c3aed}.bill-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bill-form>label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:700}.bill-form>label span{font-weight:500}.bill-form input,.bill-form select{width:100%;min-width:0;height:46px;border:1px solid rgba(30,45,80,.13);border-radius:13px;padding:0 12px;background:rgba(248,250,254,.9);color:var(--text);font:inherit;font-size:16px;outline-color:#7d36ed}.bill-form .bill-free-option input{width:17px;height:17px;min-width:17px;flex:0 0 17px;margin:0;padding:0;border:0;border-radius:4px;background:transparent;accent-color:#7c3aed}.bill-form-actions{grid-column:1/-1;display:flex;gap:9px;margin-top:3px}.bill-form-actions .primary-button{width:auto;min-width:150px;padding:13px 18px}.bill-cancel-button{padding:11px 16px;border-radius:13px;background:rgba(30,45,80,.07);color:var(--muted);font-weight:750}.bill-cancel-button[hidden]{display:none}.bill-form>label[hidden],.bill-person-field[hidden]{display:none}.bill-ownership-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px}.bill-type-fieldset{grid-column:auto;min-width:0;margin:0;padding:0;border:0}.bill-person-field{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:700}.bill-type-fieldset legend{margin-bottom:7px;color:var(--muted);font-size:13px;font-weight:700}.bill-type-options{display:flex;gap:8px}.bill-type-options label{position:relative;display:block;margin:0;cursor:pointer}.bill-type-options input{position:absolute;width:1px;height:1px;opacity:0}.bill-type-options span{display:block;padding:10px 15px;border:1px solid rgba(104,23,216,.16);border-radius:12px;background:rgba(104,23,216,.06);color:var(--muted);font-size:13px;font-weight:750}.bill-type-options input:checked+span{border-color:#6817d8;background:rgba(104,23,216,.13);color:#6817d8}.bill-type-options input:focus-visible+span{outline:3px solid #6817d8;outline-offset:2px}.bill-owner-label{color:var(--muted);font-size:11px}
.bill-list-heading{align-items:center}.bill-list-heading>span{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:rgba(104,23,216,.08);color:#6817d8;font-size:12px;font-weight:750}.bill-list{display:grid;gap:13px;margin-top:14px}.bill-category-group{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.3)}.bill-category-heading{--bill-chip:#586579;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid color-mix(in srgb,var(--bill-chip) 16%,var(--line));background:color-mix(in srgb,var(--bill-chip) 7%,white);color:var(--bill-chip)}.bill-category-heading[data-bill-category="house-bills"]{--bill-chip:#c56a12}.bill-category-heading[data-bill-category="subscriptions"]{--bill-chip:#7c3aed}.bill-category-heading[data-bill-category="personal-expenses"]{--bill-chip:#c02670}.bill-category-heading[data-bill-category="health-beauty"]{--bill-chip:#18804b}.bill-category-heading[data-bill-category="transport"]{--bill-chip:#2864c5}.bill-category-heading[data-bill-category="other"]{--bill-chip:#586579}.bill-category-heading>strong{font-size:14px}.bill-category-heading>span{display:flex;align-items:baseline;gap:4px;color:var(--text)}.bill-category-heading>span>strong{font-size:15px}.bill-category-heading small{color:var(--muted);font-size:11px;font-weight:600}.bill-row{display:grid;grid-template-columns:minmax(130px,1.5fr) minmax(150px,1.2fr) minmax(94px,.75fr) auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.bill-row-main{display:grid;justify-items:start;gap:5px;min-width:0}.bill-row-main>strong{font-size:15px;overflow-wrap:anywhere}.bill-category-pill{--bill-chip:#586579;padding:4px 8px;border:1px solid color-mix(in srgb,var(--bill-chip) 22%,white);border-radius:999px;background:color-mix(in srgb,var(--bill-chip) 9%,white);color:var(--bill-chip);font-size:11px;font-weight:700}.bill-category-pill[data-bill-category="house-bills"]{--bill-chip:#c56a12}.bill-category-pill[data-bill-category="subscriptions"]{--bill-chip:#7c3aed}.bill-category-pill[data-bill-category="personal-expenses"]{--bill-chip:#c02670}.bill-category-pill[data-bill-category="health-beauty"]{--bill-chip:#18804b}.bill-category-pill[data-bill-category="transport"]{--bill-chip:#2864c5}.bill-category-pill[data-bill-category="other"]{--bill-chip:#586579}.bill-row-cost>strong{display:block;font-size:14px;white-space:nowrap}.bill-row-cost>strong small{color:var(--muted);font-size:11px;font-weight:600}.bill-row-cost>span,.bill-row-due>small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.bill-row-due>strong{display:block;margin-top:4px;font-size:13px}.bill-row-actions{display:flex;gap:6px}.bill-row-actions button{padding:8px 10px;border-radius:10px;background:rgba(104,23,216,.09);color:#6817d8;font-size:12px;font-weight:750}.bill-row-actions .bill-delete{background:rgba(220,40,62,.09);color:#b42332}.bill-empty{display:grid;justify-items:center;padding:28px 12px;text-align:center}.bill-empty-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:7px;border-radius:14px;background:rgba(104,23,216,.1);color:#6817d8;font-size:25px}.bill-empty>strong{font-size:15px}.bill-empty>p{max-width:360px;margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
body.dark-mode .bill-summary-card{border-color:rgba(193,205,232,.1)}body.dark-mode .bill-summary-primary{background:linear-gradient(135deg,rgba(51,39,72,.96),rgba(34,51,73,.96))}body.dark-mode .bill-summary-primary>strong{color:#d0aaff}body.dark-mode .bill-form input,body.dark-mode .bill-form select{border-color:rgba(193,205,232,.16);background:#20283a;color:var(--text)}body.dark-mode .bill-type-options span{border-color:rgba(193,205,232,.16);background:#20283a}body.dark-mode .bill-type-options input:checked+span{border-color:#bd8bff;background:#302642;color:#dec9ff}body.dark-mode .bill-category-group{border-color:rgba(193,205,232,.12);background:rgba(32,40,58,.3)}body.dark-mode .bill-category-heading{border-color:color-mix(in srgb,var(--bill-chip) 28%,#20283a);background:color-mix(in srgb,var(--bill-chip) 18%,#20283a);color:color-mix(in srgb,var(--bill-chip) 72%,white)}body.dark-mode .bill-share-grid article{border-color:rgba(193,205,232,.12);background:rgba(32,40,58,.55)}body.dark-mode .bill-category-chips button{border-color:color-mix(in srgb,var(--bill-chip) 48%,#20283a);background:color-mix(in srgb,var(--bill-chip) 18%,#20283a);color:color-mix(in srgb,var(--bill-chip) 72%,white)}body.dark-mode .bill-category-chips button:hover,body.dark-mode .bill-category-chips button[aria-pressed=true],body.dark-mode .bill-suggestion-chips button:hover,body.dark-mode .bill-suggestion-chips button[aria-pressed=true]{border-color:color-mix(in srgb,var(--bill-chip) 72%,#20283a);background:color-mix(in srgb,var(--bill-chip) 34%,#20283a)}body.dark-mode .bill-row-actions button{background:#302642;color:#dec9ff}body.dark-mode .bill-row-actions .bill-delete{background:#39242d;color:#ffb8c0}
@media(max-width:600px){.bill-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bill-summary-card{padding:14px;border-radius:18px}.bill-summary-card:last-child{grid-column:1/-1}.bill-entry-card,.bill-list-card,.bill-share-card{padding:16px;border-radius:21px}.bill-form{grid-template-columns:1fr;gap:10px}.bill-ownership-row{grid-template-columns:1fr}.bill-form-actions{grid-column:1}.bill-row{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:13px 0}.bill-row-main,.bill-row-cost,.bill-row-due{grid-column:1}.bill-row-main{grid-row:1}.bill-row-cost{grid-row:2}.bill-row-due{grid-row:3}.bill-row-actions{grid-column:2;grid-row:1/4;flex-direction:column;align-items:stretch}.bill-list-heading{align-items:flex-start}}
.page[data-page="split"]>.principal-share-card{grid-column:1/-1}
@media (min-width:681px){body.landscape-view .page[data-page="split"]>.principal-share-card{grid-column:1/-1}}
.offset-account-info{display:flex;flex:1;flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.offset-account-info span,.offset-account-info strong{text-align:left}.offset-account-info:focus-visible{outline:2px solid #1767e8;outline-offset:3px;border-radius:4px}.offset-account-actions{margin-left:auto}.offset-account-actions .offset-account-delete{display:grid;place-items:center;width:34px;height:34px;padding:0;border-radius:10px;background:rgba(220,40,62,.09);color:#b42332}.offset-account-actions .offset-account-delete svg{display:block}body.dark-mode .offset-account-actions .offset-account-delete{background:#39242d;color:#ffb8c0}
.offset-account-info{justify-content:space-between}.offset-account-info strong{margin-left:auto;text-align:right}
.edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.edit-actions #saveEdit{grid-column:1/-1}.edit-actions.has-clear #saveEdit{grid-column:auto}.clear-value-button{min-width:0;padding:15px 12px;border:1px solid var(--line);border-radius:17px;background:#f3f5fa;color:var(--muted);font-weight:800}.clear-value-button[hidden]{display:none!important}body.dark-mode .clear-value-button{background:#242c3e;border-color:rgba(193,205,232,.14);color:#c6cde0}
.interest-total-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.interest-total-summary>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.58)}.interest-total-summary span{color:var(--muted);font-size:12px;font-weight:700}.interest-total-summary strong{font-size:19px;letter-spacing:-.02em;white-space:nowrap}
body.dark-mode .interest-total-summary>div{background:rgba(28,35,52,.56)}
.loan-paid-off-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 0;color:var(--muted);font-size:12px;font-weight:700}.loan-paid-off-heading strong{color:var(--text);font-size:14px}.loan-paid-off-detail{margin:3px 0 8px;color:var(--muted);font-size:12px;line-height:1.4}.loan-paid-off-detail span{color:var(--text);font-weight:750}.principal-share-track span.loan-paid-fill{background:linear-gradient(90deg,#246bfd,#12a46f)}
