:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#163b34;background:#f5f7f3;font-size:16px;line-height:1.5;--green:#166351;--ink:#163b34;--muted:#587069;--border:#d7e1d9}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:18px;justify-content:space-between;padding:16px max(20px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:3}.brand{font-size:22px;letter-spacing:-.6px;font-weight:800;color:var(--green);text-decoration:none;white-space:nowrap}#connection{font-size:13px;color:var(--muted)}main{max-width:1180px;margin:40px auto;padding:0 24px}#home{display:grid;grid-template-columns:1fr 1fr;gap:28px}.intro{grid-column:1/-1;max-width:700px;padding:12px 0}.intro h1{font-size:clamp(38px,6vw,66px);line-height:1.07;letter-spacing:-2px;margin:10px 0 20px}.intro p:last-child{font-size:20px;max-width:590px;color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--green);text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:36px;line-height:1.2;margin:8px 0}h2{font-size:22px;letter-spacing:-.4px;margin:0 0 18px}h3{font-size:17px;margin:18px 0 10px}p{margin:10px 0}.card,.entry{background:white;border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 2px 4px #183d3304}.muted,small{color:var(--muted);font-size:14px}label{display:block;font-size:14px;font-weight:650;margin:12px 0}input,textarea,select{width:100%;background:#fff;border:1px solid #b9cdc1;border-radius:8px;padding:11px;font:inherit;color:var(--ink);margin-top:5px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #b8ddca;border-color:var(--green)}button,.button{font:inherit;line-height:1.25;font-size:14px;border:1px solid var(--border);border-radius:8px;padding:11px 15px;color:var(--ink);background:white;cursor:pointer;font-weight:650;min-height:42px;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#edf5ed}button.primary{background:var(--green);color:white;border-color:var(--green)}button.primary:hover{background:#104a3d}button:disabled{opacity:.5;cursor:wait}.danger{color:#9a3027}#notice{max-width:1132px;margin:12px auto;padding:16px;background:#fff0d5;border:1px solid #dfbb75;border-radius:9px;white-space:pre-wrap}hr{border:0;border-top:1px solid var(--border);margin:24px 0}.group-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}nav{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:8px;overflow:auto}nav button{white-space:nowrap;background:transparent;border:0}nav button.active{background:#dcecdf;color:var(--green)}.workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.entry{margin:12px 0;padding:18px 22px}.entry-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.entry h3{margin:0}.amount{font-weight:750;white-space:nowrap;font-size:18px}.badge{font-size:12px;padding:3px 8px;border-radius:20px;background:#e2f0e5;display:inline-block;color:#235740}.badge.warn{background:#ffedcd;color:#84591c}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.balance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.balance-number{font-size:28px;font-weight:800;letter-spacing:-.8px}.owes{color:#a1452e}.receives{color:var(--green)}.columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.splitrow{display:flex;gap:10px;align-items:center;padding:4px 0}.splitrow label{flex:1;margin:0}.splitrow input[type=number],.splitrow input[type=text]{width:115px}.check{display:flex;gap:9px;align-items:center;font-weight:500}.check input{width:18px;height:18px;margin:0}dialog{border:1px solid var(--border);border-radius:18px;max-width:560px;width:calc(100% - 24px);padding:26px;max-height:92vh;box-shadow:0 20px 100px #14281c38}dialog::backdrop{background:#12352b55}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-head h2{margin:0}.dialog-head button{border:0;font-size:24px}summary{cursor:pointer;padding:10px 0;font-size:14px}.error{color:#a22c25;font-weight:600}.saved{color:var(--green)}.sharelink{font-size:13px;word-break:break-all;background:#f0f5ef;padding:14px;border-radius:8px;user-select:all}.history-row{border-bottom:1px solid var(--border);padding:14px 0}.history-row pre{font-size:12px;max-height:220px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}footer{text-align:center;color:var(--muted);font-size:13px;margin:60px 20px 26px}.empty{text-align:center;padding:45px 22px;background:#eaf1e8;border-radius:16px}.empty strong{font-size:22px;display:block}.explanation{margin-top:10px;padding-top:8px;border-top:1px solid var(--border)}.method{white-space:pre-wrap;overflow-wrap:anywhere}.file{margin-top:20px}table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:10px 7px;border-bottom:1px solid var(--border);text-align:left}.scroll{overflow:auto}.inline{display:inline}.member{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--border);padding:12px 0}.pending{border-left:4px solid #dfad54}a{color:var(--green)}[hidden]{display:none!important}@media(min-width:1000px){.workspace:has(#queuepanel:not([hidden])){grid-template-columns:minmax(0,1fr) 300px}#queuepanel{align-self:start;position:sticky;top:95px}}@media(max-width:600px){header{padding:12px 16px;gap:10px;flex-wrap:wrap}.brand{font-size:20px}#connection{order:3;flex-basis:100%}main{margin:24px auto;padding:0 16px}#home{grid-template-columns:1fr;gap:16px}.intro{padding:0}.intro p:last-child{font-size:17px}.card{padding:19px}.group-head{align-items:flex-start}h1{font-size:28px}.group-head .primary{max-width:125px}.entry{padding:16px}.entry-top{flex-wrap:wrap}.balance-grid{grid-template-columns:1fr 1fr;gap:10px}.balance-grid .card{padding:14px}.balance-number{font-size:23px}nav{margin-right:-16px}nav button{padding:10px}dialog{padding:20px}.columns{gap:10px}}

#notice{display:flex;align-items:center;justify-content:space-between;gap:16px}#notice button{border:0;background:transparent;font-size:22px;padding:4px 10px}#notice.success{background:#e7f3e8;border-color:#b9d3be}#notice.info{background:#eef3f1;border-color:#cfdcd6}header #newexpense{white-space:nowrap}@media(max-width:600px){#newexpense{position:static;box-shadow:none}footer{padding-bottom:0}}

#language{width:auto;margin:0;padding:7px;font-size:13px}header{gap:12px}.brand{margin-right:auto}.technical pre{max-height:220px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}#notice.success{position:fixed;bottom:16px;left:16px;right:16px;z-index:10;max-width:650px;margin:auto;box-shadow:0 4px 20px #12352b22}@media(max-width:600px){#newexpense{order:2}#refresh{order:2}#connection{order:3}.member{flex-wrap:wrap}.balance-grid{grid-template-columns:1fr}}
@media(max-width:600px){header{gap:8px}#refresh{padding-inline:8px;font-size:13px}#newexpense{padding-inline:12px}}

/* Splitwise group structure: compact dated rows and a payer/split sentence. */
:root{--green:#299e88;--ink:#333;--muted:#767676;--border:#ddd;color:var(--ink);background:#f5f5f5;font-family:Arial,ui-sans-serif,sans-serif}
header{background:#48bca5;color:white;padding-block:9px;border-bottom:1px solid #289a83;gap:12px}.brand,header #connection{color:white}.brand{font-size:23px;font-weight:600}header button.primary{background:#ff7446;border-color:#e66537}header #refresh,header #language{background:#ffffffee}
#group{max-width:1060px;margin:24px auto;padding:0 20px}.group-head{position:relative;min-height:130px;background:#fff;border:1px solid var(--border);padding:19px 24px;margin:0 0 0 185px;flex-wrap:wrap;gap:8px}.group-head h1{font-size:27px;font-weight:500;margin:2px 0 4px}.group-head .eyebrow{letter-spacing:0;text-transform:none;font-weight:400;font-size:12px;margin:0}.group-head #groupmeta{margin:0;font-size:12px}.group-actions{display:flex;gap:7px}.settle{background:#58bd7a;border-color:#49a668;color:#fff}#yourbalance{flex-basis:100%;margin:8px 0 0;font-size:15px}.group-layout{display:grid;grid-template-columns:165px minmax(0,1fr);gap:20px}.group-layout nav{display:flex;flex-direction:column;align-self:start;gap:1px;border:0;padding:15px 0;margin:0;overflow:visible}.nav-title{color:#999;font-size:12px;text-transform:uppercase;margin:4px 10px}.group-layout nav button{text-align:left;border-radius:0;font-weight:400;font-size:15px;min-height:38px;padding:8px 11px}.group-layout nav button.active{background:#e5e5e5;border-left:4px solid #48bca5;color:#278b76;padding-left:7px}.workspace{gap:12px;min-width:0;background:white;border:1px solid var(--border);border-top:0}#content{min-width:0;padding:20px}.journal-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.journal-tools h2{margin:0;font-size:20px;font-weight:500}.journal-tools button{font-size:12px;padding:6px 10px;min-height:32px}.expense-list{margin:0 -20px}.month-heading{background:#eee;padding:7px 18px;margin:0;text-transform:none;font-size:13px;font-weight:600;border-block:1px solid #ddd}.expense-row{display:flex;align-items:flex-start;gap:11px;padding:12px 15px;border-bottom:1px solid #eee;background:#fff}.row-date{width:28px;flex-shrink:0;text-align:center;font-size:10px;line-height:1.15;color:#888;padding-top:3px}.row-date span,.row-date strong{display:block}.row-date strong{font-size:19px;font-weight:400}.expense-icon{flex-shrink:0;background:#eee;border:1px solid #ddd;border-radius:3px;color:#888;width:33px;height:34px;font-size:25px;text-align:center;line-height:30px}.expense-detail{flex:1;min-width:0}.expense-detail>summary{padding:0;display:block;min-height:40px;list-style:none}.expense-detail>summary::-webkit-details-marker{display:none}.expense-detail>summary:hover .expense-title{text-decoration:underline}.expense-title{display:block;font-size:16px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.payer-line{display:block;color:#888;font-size:12px;margin-top:3px;overflow-wrap:anywhere}.expense-source{padding-top:8px;font-size:14px}.expense-source p{margin:6px 0}.row-balance{flex-shrink:0;max-width:130px;text-align:right;padding-top:1px}.row-balance small{display:block;font-size:10px;color:inherit}.row-balance strong{font-size:17px;font-weight:500;white-space:nowrap}.owes{color:#df714c}.receives{color:#279a84}.balance-row{display:flex;gap:15px;padding:14px 0;border-bottom:1px solid #eee}.member-avatar{width:42px;height:42px;flex-shrink:0;background:#e3f1ed;color:#278d77;font-size:21px;text-align:center;line-height:42px;border-radius:50%}.member-balance{flex:1;min-width:0}.member-balance>strong{font-size:17px;font-weight:500}.member-balance summary{font-size:12px;padding:6px 0}.repayment-list{padding-top:24px}.repayment-list h2{font-size:20px;font-weight:500;margin-bottom:8px}.settlement-row{display:flex;align-items:start;justify-content:space-between;gap:16px;border-bottom:1px solid #eee;padding:15px 0}.settlement-row>div{min-width:0}.settlement-row>div:last-child{text-align:right}.settlement-row button{display:block;font-size:12px;margin-top:7px}.settlement-row .amount{font-size:17px}.settlement-row .method{font-size:12px}.workspace #queuepanel{margin:12px;padding:16px;border-radius:6px}
#editor{border-radius:6px;padding:0;max-width:480px}#expense{padding:0 24px 20px}.dialog-head{background:#48bca5;color:#fff;padding:13px 16px;margin:0 -24px 24px;gap:8px}.dialog-head h2{font-size:19px;font-weight:500;flex:1}.dialog-head button{background:transparent;color:white;border:0;padding:4px 8px;min-height:32px}.dialog-head .editor-save{font-size:14px;font-weight:500;order:1}#closeedit{order:-1}#expense>label:first-of-type{margin-top:0}#expense input[name=title]{font-size:21px;border:0;border-bottom:2px solid #bbb;border-radius:0;padding:8px 0}#expense .expense-amount input{font-size:28px;font-weight:600;border:0;border-bottom:2px solid #48bca5;border-radius:0;padding:5px 0}.expense-amount{max-width:260px}.paid-sentence{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;align-items:center;margin:25px 0 4px;font-size:14px}.paid-sentence button{border-radius:4px;padding:5px 8px;min-height:32px;font-weight:500;border-color:#ddd;max-width:100%;overflow-wrap:anywhere}#splitsummary{text-align:center;font-size:12px;margin:4px 0 18px}.choice-panel{background:#f7f7f7;padding:4px 14px 12px;border:1px solid #ddd;margin:10px 0}.choice-panel label{font-weight:400}.rounding{margin-bottom:12px}.rounding summary{font-size:12px;color:#888}#expense>#cleardraft{font-size:12px;border:0;color:#888}#repayment .dialog-head{margin:-26px -26px 16px}#repayment .dialog-head h2{color:#fff}#repayment .dialog-head button{color:#fff}footer{margin-top:35px}
@media(min-width:1000px){.workspace:has(#queuepanel:not([hidden])){grid-template-columns:minmax(0,1fr)}#queuepanel{position:static}}
@media(max-width:700px){#group{margin:0 auto;padding:0}.group-head{margin:0;padding:16px 17px;border-inline:0;min-height:0}.group-head h1{font-size:25px}.group-layout{display:block}.group-layout nav{flex-direction:row;gap:0;padding:0;overflow-x:auto;border-bottom:1px solid #ddd;background:#fff}.nav-title{display:none}.group-layout nav button{padding:10px 13px;min-height:44px;font-size:13px}.group-layout nav button.active{border-left:0;border-bottom:3px solid #48bca5;padding:10px 13px 7px;background:#fff}.workspace{border:0}#content{padding:16px}.expense-list{margin:0 -16px}.expense-row{gap:8px;padding:11px 12px}.expense-icon{width:27px;height:29px;font-size:21px;line-height:26px}.expense-title{font-size:14px}.row-balance{max-width:108px}.row-balance strong{font-size:14px}.row-balance small{font-size:10px}.payer-line{font-size:11px}.row-date{width:24px}.row-date strong{font-size:17px}.group-actions button{font-size:13px;padding:9px 13px;min-height:40px}.journal-tools h2{font-size:18px}.settlement-row{gap:8px}.settlement-row button{max-width:150px}.workspace #queuepanel{margin:12px}#repayment .dialog-head{margin:-20px -20px 16px}header .brand{font-size:20px}header #connection{font-size:11px}#editor{max-height:94dvh}#expense{padding-inline:20px}#editor .dialog-head{margin-inline:-20px}#home{margin-top:24px}}
@media(max-width:600px){header{flex-wrap:wrap;padding:9px 14px;gap:8px}header #connection{flex-basis:100%;margin:0}header #newexpense{font-size:0;width:42px;min-height:36px;padding:0;order:0}header #newexpense::before{content:'+';font-size:25px;font-weight:400}header #refresh{font-size:0;width:36px;min-height:36px;padding:0;order:0}header #refresh::before{content:'↻';font-size:22px}header #language{font-size:12px;padding:6px;width:80px}header .brand{font-size:19px}#group .group-head{padding:13px 16px}#yourbalance{margin-top:4px}.group-actions button{min-height:36px;padding:8px 12px}}

.expense-amount select{display:inline-block;width:auto;max-width:7rem;margin:0 .4rem}.currency-balances{margin:1rem 0}.currency-balances h3{margin:.5rem 0}
.pending{overflow-wrap:anywhere}.pending-receipt p{margin:8px 0}

/* Saved groups use the same compact list structure as the group journal. */
#home.has-groups{max-width:1060px;margin-top:24px;gap:18px}.groups-panel{grid-column:1/-1;background:#fff;border:1px solid var(--border)}.groups-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eee;border-bottom:1px solid var(--border);padding:15px 20px}.groups-heading h1{font-size:27px;font-weight:500;margin:0}.groups-heading button{background:#ff7446;border-color:#e66537;color:white}#groupshint{margin:0;padding:12px 20px;font-size:13px;border-bottom:1px solid #eee}.saved-group{border-bottom:1px solid #eee}.saved-group:last-child{border-bottom:0}.group-open{display:flex;align-items:flex-start;gap:14px;width:100%;text-align:left;border:0;border-radius:0;padding:17px 20px;font-weight:400;line-height:1.4}.group-open:hover{background:#f7faf9}.group-open:focus-visible{outline:3px solid #299e88;outline-offset:-3px}.group-avatar{flex-shrink:0;background:#e1f0ec;color:#278d77;font-size:27px;text-align:center;line-height:47px;width:48px;height:48px;border-radius:5px}.group-preview{flex:1;min-width:0}.group-preview>span,.group-title{display:block;overflow-wrap:anywhere}.group-title{font-size:19px;font-weight:600;line-height:1.3}.group-role,.group-people{color:#777;font-size:12px}.group-spending{font-size:14px;margin-top:6px}.group-spending>span{display:block;color:#777;font-size:12px}.group-spending strong{font-weight:500}.group-freshness{color:#777;font-size:11px;margin-top:5px}.group-warning{font-size:12px;color:#895512;background:#fff0d6;width:fit-content;padding:2px 6px;margin-top:5px}.unavailable .group-freshness{color:#a1452e;font-size:13px;font-weight:600}.group-arrow{font-size:25px;color:#999;align-self:center}.home-tools{border-radius:6px;padding:0 20px}.home-tools>summary{font-size:16px;padding-block:17px;font-weight:500}.home-tools[open]{padding-bottom:20px}.allgroups{display:inline-block;font-size:13px;text-decoration:none;margin-bottom:7px}.has-groups .home-tools{align-self:start}.has-groups+footer{margin-top:24px}
@media(max-width:600px){#home.has-groups{padding:0;margin:15px 0;gap:12px}.groups-panel{border-inline:0}.groups-heading{padding:12px 16px}.groups-heading h1{font-size:24px}.groups-heading button{font-size:12px;padding:9px 11px;min-height:36px}#groupshint{padding:10px 16px;font-size:12px}.group-open{padding:14px 16px;gap:12px}.group-avatar{width:39px;height:40px;line-height:40px;font-size:24px}.group-title{font-size:17px}.group-arrow{font-size:22px}.home-tools{margin-inline:16px}.group-spending{font-size:14px}}

#draftpanel{flex-basis:100%;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px;border-top:1px solid #ead9b8;padding-top:7px;color:#895512}#draftpanel small{font-size:11px;color:inherit}#draftpanel button{min-height:34px;font-size:12px;padding:6px 9px;background:#fff8e9;border-color:#ead9b8;color:#704606;max-width:100%;overflow-wrap:anywhere;text-align:left}.draft-row{display:flex;align-items:center;gap:12px;border-top:1px solid var(--border);padding:8px 0}.draft-row p{flex:1;min-width:0;font-size:14px;margin:4px 0}.draft-row button{flex-shrink:0;font-size:12px;min-height:36px;padding:7px 10px}

/* Named-person transfer keeps source and destination together at phone width. */
.person-mapping{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,1fr);gap:12px;align-items:center}.person-mapping>span{overflow-wrap:anywhere}.person-mapping select{margin:0;min-width:0}.import-record{padding:10px 0;border-block-start:1px solid var(--border)}.import-record p{margin:6px 0}.group-actions{flex-wrap:wrap}#groupexports{scroll-margin-top:100px}@media(max-width:700px){.person-mapping{gap:8px;grid-template-columns:minmax(0,1fr) minmax(140px,1.15fr)}.import-record{font-size:14px}#groupexport{font-size:13px;padding:9px 13px}}

.export-files{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.export-files p{margin:6px 0 0}.export-files button{max-width:100%;white-space:normal}
.export-files .export-feedback{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#f0f5ef;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.export-files .export-feedback.error{background:#fff0d5;border-color:#dfbb75}.export-feedback:focus{outline:2px solid var(--green);outline-offset:2px}

#yourbalance{overflow-wrap:anywhere}.group-head>div:first-child{min-width:0}.member-balance>strong{overflow-wrap:anywhere}

/* A refused save keeps plain, lasting information beside its unchanged form. */
#formerror,#repayerror,#settingserror{color:var(--muted);font-weight:400}

#groupimports,.deletion-undo{scroll-margin-top:100px}
