#root{width:100%;min-height:100vh;box-sizing:border-box}html,body{margin:0;min-height:100%}*{box-sizing:border-box}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease,background-color .12s ease,border-color .12s ease,color .12s ease;touch-action:manipulation}button:hover:not(:disabled){filter:brightness(1.04)}button:active:not(:disabled){transform:translateY(1px) scale(.985)}.app-shell{min-height:100vh;background:#f7f8fa;color:#191f28}.screen{display:flex;flex-direction:column;gap:18px;width:100%;max-width:100vw;min-height:100vh;overflow-x:hidden;padding:22px 18px 32px;white-space:pre-line}.screen-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:18px}.screen-nav .secondary-button{min-height:40px}.with-bottom-action{padding-bottom:96px}.hero,.screen-title,.group-header{display:flex;flex-direction:column;gap:8px;min-width:0;max-width:100%;padding-top:28px}.group-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding-top:14px}.group-header h1{font-size:36px}h1,h2,p{margin:0}h1{font-size:30px;line-height:1.18;letter-spacing:0}h2{font-size:18px;letter-spacing:0}p,small,.muted{color:#6b7684;line-height:1.5;overflow-wrap:anywhere}.eyebrow{color:#3182f6;font-size:13px;font-weight:800;letter-spacing:0;text-transform:uppercase}.action-row{display:flex;gap:10px}.primary-button,.secondary-button,.danger-button,.bottom-button{min-height:48px;border:0;border-radius:8px;padding:0 16px;font-weight:800;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease,background-color .14s ease;touch-action:manipulation}.primary-button,.bottom-button{background:#3182f6;color:#fff}.secondary-button{background:#e8f2ff;color:#1b64da}.danger-button{background:#fff0f1;color:#f04452}.text-button{border:0;background:transparent;color:#3182f6;font-weight:800;min-height:36px;padding:0;transition:color .14s ease,transform .14s ease}.footer-link{align-self:center;min-height:40px;border:0;background:transparent;color:#f8f3dfb8;font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:4px}.legal-link{display:flex;align-items:center;width:100%;min-height:48px;border:1px solid rgb(255 255 255 / 18%);border-radius:8px;padding:0 14px;background:#f8f3df1f;color:#f6d37a;font-weight:900;text-align:left;text-decoration:none;transition:transform .14s ease,background-color .14s ease}.legal-link:hover{text-decoration:none}.danger{color:#f04452}.full{width:100%}.bottom-button{position:fixed;right:18px;bottom:max(18px,env(safe-area-inset-bottom));left:18px;z-index:10}.primary-button:hover,.secondary-button:hover,.danger-button:hover,.bottom-button:hover,.group-card-main:hover,.text-button:hover,.legal-link:hover,.member-toggle:hover,.toggle-button:hover{filter:brightness(1.04)}.primary-button:active,.secondary-button:active,.danger-button:active,.bottom-button:active,.group-card-main:active,.text-button:active,.legal-link:active,.member-toggle:active,.toggle-button:active{transform:translateY(1px) scale(.985)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgb(246 211 122 / 72%);outline-offset:3px}.stack{display:flex;flex-direction:column;gap:10px}.group-card,.expense-row,.transfer-card,.panel,.empty-state,.summary-box,.warning-box{border:1px solid #edf0f3;border-radius:8px;background:#fff;box-shadow:0 4px 16px #191f280a;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.group-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:16px;border:0;text-align:left}.group-card-main{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;min-width:0;border:0;background:transparent;color:inherit;padding:0;text-align:left;transition:transform .14s ease}.group-card strong,.group-card small{display:block;overflow-wrap:anywhere}.group-card .text-button{flex:0 0 auto}.group-edit-button{min-height:40px;white-space:nowrap}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat{display:flex;flex-direction:column;gap:4px;border-radius:8px;background:#fff;padding:14px 10px;transition:transform .16s ease,background-color .16s ease}.stat span{color:#8b95a1;font-size:12px;font-weight:700}.stat strong{font-size:16px}.panel{display:flex;flex-direction:column;gap:14px;padding:16px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{min-width:0}.toggle-button{flex:none;display:inline-flex;align-items:center;gap:7px;border:1px solid rgb(248 243 223 / 46%);border-radius:999px;background:#0000002e;color:#f8f3df;padding:7px 11px;font-size:13px;font-weight:900;transition:transform .14s ease,border-color .16s ease,background-color .16s ease,color .16s ease}.toggle-button:before{content:"";display:inline-block;width:9px;height:9px;border-radius:999px;background:currentcolor;box-shadow:0 0 0 3px #f8f3df24;transition:transform .16s ease,box-shadow .16s ease}.toggle-button.selected{border-color:#f6d37a;background:#f6d37a;color:#24331f}.toggle-button.selected:before{transform:scale(1.22);box-shadow:0 0 0 4px #24331f1f}.toggle-button:focus-visible{outline:0;box-shadow:0 0 0 3px #f6d37a52}.compact{align-items:flex-end}.empty-state{padding:22px 18px}.empty-state strong{display:block;margin-bottom:6px}.form{display:flex;flex-direction:column;gap:16px}label,.field-block{display:flex;flex-direction:column;gap:8px;color:#4e5968;font-weight:800}input,select,textarea{width:100%;border:1px solid #d9dee6;border-radius:8px;background:#fff;color:#191f28;padding:13px 14px;outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#3182f6;box-shadow:0 0 0 3px #3182f61f}.chip-wrap{display:flex;flex-wrap:wrap;gap:8px}.chip,.member-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;border-radius:8px;background:#f2f4f6;padding:0 10px;color:#333d4b;font-weight:800}.member-chip span{width:10px;height:10px;border-radius:999px}.member-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.member-toggle{display:flex;align-items:center;gap:8px;min-height:48px;border:1px solid #d9dee6;border-radius:8px;background:#fff;padding:0 12px;color:#4e5968;font-weight:800;transition:transform .14s ease,border-color .16s ease,background-color .16s ease,color .16s ease}.member-toggle span{width:12px;height:12px;border-radius:999px}.member-toggle.selected{border-color:#3182f6;background:#e8f2ff;color:#1b64da;box-shadow:inset 0 0 0 1px #3182f633}.expense-row,.transfer-card,.member-row,.member-name-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:14px}.expense-row:hover,.transfer-card:hover,.member-row:hover,.stat:hover{transform:translateY(-1px)}.transfer-card{grid-template-columns:auto 1fr}.expense-row strong,.expense-row small,.transfer-card strong,.transfer-card small{display:block}.row-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.row-action-buttons{display:flex;gap:10px}.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;font-weight:900}.transfer-people{display:flex;align-items:center;gap:6px}.arrow{color:#8b95a1;font-weight:900}.member-row{grid-template-columns:44px 1fr auto;border-radius:8px;background:#fff}.member-field-list{display:flex;flex-direction:column;gap:10px}.member-name-row{grid-template-columns:minmax(0,1fr) auto;padding:0}.member-name-row .danger-button{min-height:48px}.icon-danger{min-height:40px;border:0;border-radius:8px;background:#fff0f1;color:#f04452;font-weight:800}.summary-box,.warning-box{padding:14px;color:#4e5968;line-height:1.45}.warning-box{border-color:#ffd2d6;background:#fff8f8;color:#d12f3f}.balance-table{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:10px 8px;overflow-x:auto;font-size:13px}.balance-table>span:nth-child(-n+4){color:#8b95a1;font-weight:800}.positive{color:#3182f6;font-weight:900}.negative{color:#f04452;font-weight:900}.toast{position:fixed;top:50%;right:32px;left:32px;z-index:20;transform:translateY(-50%);border-radius:8px;background:#191f28;color:#fff;padding:18px 16px;text-align:center;font-weight:800;box-shadow:0 8px 24px #0000002e;animation:toast-pop .22s ease-out}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:end center;background:#191f2875;padding:18px}.confirm-dialog{display:flex;flex-direction:column;gap:18px;width:100%;max-width:444px;border-radius:8px;background:#fff;padding:22px 18px;box-shadow:0 16px 40px #0003;animation:sheet-up .18s ease-out}.confirm-dialog p{color:#191f28;font-size:18px;font-weight:800}@media(min-width:481px){body{min-height:100vh;background:radial-gradient(circle at 18% 18%,rgb(255 247 217 / 42%),transparent 18rem),linear-gradient(90deg,rgb(255 255 255 / 10%) 1px,transparent 1px),linear-gradient(180deg,rgb(255 255 255 / 10%) 1px,transparent 1px),linear-gradient(180deg,#f4ddb0 0,#f4ddb0 66%,#b9824f 66%,#b9824f);background-size:auto,72px 72px,72px 72px,auto;overflow-x:hidden}body:before,body:after{content:"";position:fixed;pointer-events:none}body:before{top:72px;right:max(36px,calc((100vw - 480px)/2 - 340px));width:min(26vw,280px);height:170px;border:12px solid #8a5b32;border-radius:12px;background:linear-gradient(90deg,transparent 48%,rgb(138 91 50 / 75%) 48% 52%,transparent 52%),linear-gradient(180deg,transparent 48%,rgb(138 91 50 / 75%) 48% 52%,transparent 52%),linear-gradient(145deg,#8bc7ec,#d8f2ff 58%,#fff2b8);box-shadow:inset 0 0 0 3px #ffffff52,0 18px 40px #4f2f172e}body:after{left:max(28px,calc((100vw - 480px)/2 - 360px));bottom:34px;width:min(28vw,300px);height:118px;border-radius:16px 16px 8px 8px;background:radial-gradient(circle at 24% 20%,#f8f3df 0 9px,transparent 10px),linear-gradient(180deg,#a86c3d 0,#a86c3d 18px,#754826 18px,#754826);box-shadow:0 10px #5d371e,0 22px 34px #3f23103d;opacity:.92}#root{position:relative;z-index:1;max-width:480px;margin:0 auto;overflow:hidden;border-right:1px solid rgb(255 255 255 / 16%);border-left:1px solid rgb(0 0 0 / 28%);background-color:#234638!important;box-shadow:0 0 0 12px #36251829,0 24px 80px #2e1c1057}.app-shell{min-height:100vh}.bottom-button,.toast{right:calc((100vw - 480px)/2 + 18px);left:calc((100vw - 480px)/2 + 18px)}}@media(max-width:360px){.screen{padding-right:14px;padding-left:14px}h1{font-size:27px}.stats-grid,.member-toggle-grid{grid-template-columns:1fr}}.app-shell{background:linear-gradient(90deg,rgb(255 255 255 / 4%) 1px,transparent 1px),linear-gradient(180deg,rgb(255 255 255 / 3%) 1px,transparent 1px),#234638;background-size:28px 28px;color:#f8f3df}h1,h2,.hero h1,.screen-title h1,.group-header h1{color:#fff7d9}p,small,.muted{color:#f8f3dfc7}.hero,.screen-title,.group-header{text-shadow:0 1px 0 rgb(0 0 0 / 22%)}.eyebrow,.text-button{color:#f6d37a}.primary-button,.bottom-button{background:#f6d37a;color:#24331f;box-shadow:inset 0 -2px #4d361a38,0 6px 14px #0a1a1029}.secondary-button{background:#f8f3df;color:#244e3e}.danger-button,.icon-danger{background:#ffded9;color:#9e2a20}.group-card,.expense-row,.transfer-card,.panel,.empty-state,.summary-box,.warning-box{border:1px solid rgb(255 255 255 / 18%);background:radial-gradient(circle at 14% 20%,rgb(255 255 255 / 5%),transparent 22%),linear-gradient(135deg,#ffffff12,#ffffff05),#315a48;box-shadow:inset 0 0 0 1px #00000024,0 8px 22px #07140d38}.group-card:hover,.panel:hover{border-color:#f6d37a5c}.group-card{border:1px solid rgb(255 255 255 / 18%);color:#f8f3df}.stat{border:1px solid rgb(255 255 255 / 18%);background:#f8f3df1f}.stat span,.balance-table>span:nth-child(-n+4){color:#f8f3dfb3}label,.field-block{color:#f8f3df}input,select,textarea{border-color:#ffffff3d;background:#f8f3df;color:#24331f}input:focus,select:focus,textarea:focus{border-color:#f6d37a;box-shadow:0 0 0 3px #f6d37a33}.chip,.member-chip{background:#f8f3df24;color:#f8f3df}.member-toggle{border-color:#ffffff3d;background:#f8f3df1a;color:#f8f3df}.member-toggle.selected{border-color:#f6d37a;background:#f6d37a29;color:#f6d37a}.member-row{border:1px solid rgb(255 255 255 / 16%);background:#f8f3df1a}.summary-box{color:#f8f3df}.warning-box{border-color:#ffca808c;background:#5d3a1db3;color:#ffe5b4}.positive{color:#9ee6b7}.negative,.danger{color:#ffb4a8}.toast{background:#f8f3df;color:#24331f}.confirm-dialog{background:#f8f3df}.confirm-dialog p{color:#24331f}.board-panel{border:5px solid #8a5b32;background:radial-gradient(circle at 18% 16%,rgb(255 255 255 / 7%),transparent 19%),radial-gradient(circle at 78% 26%,rgb(255 255 255 / 5%),transparent 18%),linear-gradient(145deg,#315f4b,#244e3e);box-shadow:inset 0 0 0 2px #0000002e,inset 0 0 40px #00000029,0 10px 20px #00000038}.board-panel:hover{box-shadow:inset 0 0 0 2px #0000002e,inset 0 0 40px #00000029,0 12px 24px #00000042}.chalk-name-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.chalk-name-list span{min-width:0;border-bottom:1px solid rgb(248 243 223 / 38%);color:#fff7d9;font-size:20px;font-weight:900;line-height:1.6;word-break:break-word}.chalk-tools{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;min-height:28px;margin-top:2px}.eraser-shape{display:inline-block;width:44px;height:18px;border-radius:5px;background:linear-gradient(90deg,#f8f3df 0,#f8f3df 42%,#e8b9a8 42%,#e8b9a8);box-shadow:0 2px #00000047;transform:rotate(-4deg);transition:transform .16s ease}.chalk-stick{display:inline-block;width:58px;height:8px;border-radius:999px;background:#f8f3df;box-shadow:inset 7px 0 #ffffff6b,0 2px #00000038;transform:rotate(3deg);transition:transform .16s ease}.board-panel:hover .eraser-shape{transform:translateY(-1px) rotate(-6deg)}.board-panel:hover .chalk-stick{transform:translateY(-1px) rotate(5deg)}.share-panel pre{overflow-x:auto;margin:0;border:1px dashed rgb(248 243 223 / 42%);border-radius:8px;background:#00000029;color:#fff7d9;padding:14px;white-space:pre-wrap;word-break:keep-all;font:inherit;line-height:1.6}.share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.image-panel img{display:block;width:100%;border:1px solid rgb(248 243 223 / 28%);border-radius:8px;background:#0000002e}button:disabled{cursor:not-allowed;opacity:.62;transform:none;filter:none}button:disabled:active,button:disabled:hover{transform:none;filter:none}summary{color:#fff7d9;font-weight:900;cursor:pointer;transition:color .14s ease}summary:hover{color:#f6d37a}@keyframes toast-pop{0%{opacity:0;transform:translateY(calc(-50% + 8px)) scale(.98)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media(min-width:481px){#root{background-color:#234638!important}}@media(max-width:360px){.share-actions,.chalk-name-list{grid-template-columns:1fr}}
