:root{--font: "Nunito", "Segoe UI", system-ui, sans-serif;--font-display: "Baloo 2", "Nunito", "Segoe UI", system-ui, sans-serif;--bg: #faf1e3;--bg-translucent: rgba(250, 241, 227, .88);--card: #fffdf8;--card-2: #f4ecdb;--text: #362a5e;--muted: #8b80ab;--ink: #362a5e;--line: #e7dcc4;--hard: rgba(54, 42, 94, .22);--hard-strong: rgba(54, 42, 94, .85);--danger: #ef4444;--success: #10b981;--warn: #f59e0b;--primary: #8b5cf6;--primary-grad: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);--blob-opacity: .45}[data-theme=dark]{--bg: #171233;--bg-translucent: rgba(23, 18, 51, .85);--card: #231b4a;--card-2: #2d2459;--text: #f3efff;--muted: #a79ccf;--ink: #0d0a20;--line: #3d3470;--hard: rgba(0, 0, 0, .5);--hard-strong: rgba(0, 0, 0, .75);--blob-opacity: .22}*{box-sizing:border-box;margin:0;padding:0}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;min-height:100dvh;transition:background .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;touch-action:manipulation;-webkit-user-select:none;user-select:none}@media(pointer:coarse){input,select,textarea{font-size:16px}}input,select{font-family:inherit;color:inherit}ul{list-style:none}h1,h2,h3{font-family:var(--font-display)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sticker{background:var(--card);border:2px solid var(--line);box-shadow:3px 4px 0 var(--hard)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}.blob{position:fixed;border-radius:50%;filter:blur(70px);opacity:var(--blob-opacity);animation:float 14s ease-in-out infinite alternate;pointer-events:none}.blob-1{width:420px;height:420px;background:#8b5cf6;top:-120px;left:-100px}.blob-2{width:380px;height:380px;background:#ec4899;bottom:-120px;right:-80px;animation-delay:-5s}.blob-3{width:300px;height:300px;background:#10b981;bottom:10%;left:8%;animation-delay:-9s}@keyframes float{0%{transform:translate(0) scale(1)}to{transform:translate(50px,-40px) scale(1.15)}}.login-card{position:relative;width:100%;max-width:400px;background:var(--card);border:2.5px solid var(--ink);border-radius:26px 30px/30px 26px;padding:34px 32px 26px;box-shadow:6px 7px 0 var(--hard);text-align:center}.login-logo{width:72px;height:72px;margin:0 auto 12px;border-radius:22px 26px/26px 22px;background:var(--primary-grad);display:grid;place-items:center;font-size:38px;border:2.5px solid var(--ink);box-shadow:3px 4px 0 var(--hard)}.login-title{font-size:34px;font-weight:800;letter-spacing:-.5px;background:var(--primary-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.login-subtitle{color:var(--muted);font-size:14.5px;font-weight:700;margin-top:0;margin-bottom:22px}.mode-switch{display:flex;background:var(--card-2);border:2px solid var(--line);border-radius:999px;padding:4px;margin-bottom:20px}.mode-btn{position:relative;flex:1;padding:9px 6px;border-radius:999px;font-family:var(--font-display);font-weight:700;font-size:14.5px;color:var(--muted);transition:color .2s}.mode-btn.active{color:#fff}.mode-pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--primary-grad);box-shadow:2px 3px 0 var(--hard)}.mode-label{position:relative;z-index:1}.login-form{display:flex;flex-direction:column;gap:12px;text-align:left}.field{position:relative;display:block}.field-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.field input{width:100%;padding:13px 14px 13px 42px;border-radius:14px 16px/16px 14px;border:2px solid var(--line);background:var(--card-2);font-size:15px;font-weight:600;outline:none;transition:border-color .2s,box-shadow .2s}.field input::placeholder{color:var(--muted);font-weight:500}.field input:focus{border-color:var(--primary);box-shadow:2px 3px color-mix(in srgb,var(--primary) 30%,transparent)}.login-error{color:var(--danger);font-size:13.5px;font-weight:800;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px 16px/16px 14px;font-family:var(--font-display);font-weight:700;font-size:15.5px;padding:12px 20px;border:2px solid var(--ink);box-shadow:3px 4px 0 var(--hard);transition:transform .12s,box-shadow .12s,filter .15s}.btn:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:4px 5px 0 var(--hard)}.btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--hard)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--primary-grad);color:#fff}.btn-ghost{background:var(--card-2);color:var(--text);border-color:var(--line)}.btn-danger{background:var(--danger);color:#fff}.login-submit{margin-top:4px}.login-hint{margin-top:18px;font-size:13px;color:var(--muted);font-weight:600;line-height:1.5}.app{min-height:100vh;position:relative}.bg-blob{position:fixed;border-radius:50%;filter:blur(90px);opacity:calc(var(--blob-opacity) * .5);pointer-events:none;z-index:0;transition:background .6s ease}.bg-blob-1{width:480px;height:480px;background:var(--active-accent, #8b5cf6);top:-180px;right:-120px}.bg-blob-2{width:380px;height:380px;background:#ec4899;bottom:-160px;left:-120px}.header{position:sticky;top:0;z-index:20;background:var(--bg-translucent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:2px solid var(--line)}.header-inner{max-width:760px;margin:0 auto;padding:11px 16px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:10px}.logo-badge{width:40px;height:40px;border-radius:13px 15px/15px 13px;background:var(--primary-grad);display:grid;place-items:center;font-size:21px;border:2px solid var(--ink);box-shadow:2px 3px 0 var(--hard);transform:rotate(-4deg);transition:transform .2s}.logo:hover .logo-badge{transform:rotate(4deg) scale(1.05)}.logo-text{font-family:var(--font-display);font-size:21px;font-weight:800;letter-spacing:-.3px;background:var(--primary-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.header-actions{display:flex;align-items:center;gap:8px}.icon-btn{width:37px;height:37px;border-radius:12px;display:grid;place-items:center;color:var(--muted);background:var(--card);border:2px solid var(--line);box-shadow:2px 3px 0 var(--hard);transition:color .15s,transform .12s,box-shadow .12s}.icon-btn:hover{color:var(--text);transform:translate(-1px,-1px);box-shadow:3px 4px 0 var(--hard)}.icon-btn:active{transform:translate(1px,2px);box-shadow:1px 1px 0 var(--hard)}.icon-btn.subtle{background:transparent;border:none;box-shadow:none;width:32px;height:32px}.icon-btn.subtle:hover{transform:none}.lang-toggle{font-family:var(--font-display);font-weight:800;font-size:12.5px;letter-spacing:.4px;overflow:hidden}.lang-toggle span{display:grid;place-items:center}.login-lang{position:absolute;top:18px;right:18px;z-index:2}.user-chip{display:flex;align-items:center;gap:8px;background:var(--card);border:2px solid var(--line);border-radius:999px;padding:4px 12px 4px 4px;box-shadow:2px 3px 0 var(--hard)}.user-name{font-family:var(--font-display);font-weight:700;font-size:14px}.avatar{display:inline-grid;place-items:center;border-radius:50%;color:#fff;font-weight:800;flex-shrink:0;text-transform:uppercase;border:1.5px solid rgba(0,0,0,.25)}.tabbar{position:sticky;top:62px;z-index:19;background:var(--bg-translucent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:2px solid var(--line)}.tabbar-inner{position:relative;max-width:760px;margin:0 auto;padding:10px 12px;display:flex;flex-wrap:nowrap;align-items:center;gap:6px;overflow:hidden;white-space:nowrap}.tab-scroll{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden}.tab-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px;margin-left:auto}.tabbar-measure{position:absolute;top:0;left:0;visibility:hidden;pointer-events:none;height:0;overflow:hidden;display:flex;gap:6px;white-space:nowrap}.tabbar-measure .tab,.tabbar-measure .tab-add{display:inline-flex;flex:0 0 auto}.tab-more .chevron{display:inline-grid;place-items:center}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:24}.more-menu{position:absolute;z-index:25;top:calc(100% + 4px);right:max(12px,calc((100% - 760px)/2 + 12px));min-width:190px;background:var(--card);border:2.5px solid var(--ink);border-radius:16px 19px/19px 16px;box-shadow:4px 5px 0 var(--hard);padding:6px;display:flex;flex-direction:column;gap:2px}.more-item{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:11px;font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--text);text-align:left;transition:background .12s,transform .12s}.more-item:hover{background:color-mix(in srgb,var(--tab-color) 12%,transparent);transform:translate(2px)}.more-item.active{background:var(--tab-color);color:#fff}.more-item.active .tab-count{background:#ffffff4d;color:#fff}.more-item-label{flex:1;overflow:hidden;text-overflow:ellipsis}.tab{position:relative;flex-shrink:0;padding:8px 13px;border-radius:999px;color:var(--muted);transition:color .2s}.tab:hover{color:var(--text)}.tab.active{color:#fff}.tab-pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--tab-color);border:2px solid var(--ink);box-shadow:2px 3px 0 var(--hard)}.tab-content{position:relative;z-index:1;display:flex;align-items:center;gap:7px;font-family:var(--font-display);font-weight:700;font-size:14px;white-space:nowrap}.tab-emoji{font-size:15px;line-height:1}.tab-count{min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:color-mix(in srgb,var(--tab-color) 16%,transparent);color:var(--tab-color);font-size:11.5px;font-weight:900;display:grid;place-items:center}.tab.active .tab-count{background:#ffffff4d;color:#fff}.tab-add{width:34px;height:34px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;color:var(--muted);border:2px dashed var(--muted);transition:all .15s}.tab-add:hover{color:var(--primary);border-color:var(--primary);transform:rotate(90deg) scale(1.08)}.tab-divider{width:2px;height:22px;border-radius:2px;background:var(--line);flex-shrink:0;margin:0 4px}.content{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:20px 16px calc(90px + env(safe-area-inset-bottom,0px))}.view-note{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;font-weight:700;margin-bottom:14px;padding:0 4px}.note-emoji{font-size:15px}.add-bar{display:flex;gap:8px;background:var(--card);border:2.5px solid var(--ink);border-radius:18px 22px/22px 18px;padding:8px;box-shadow:4px 5px 0 var(--hard);margin-bottom:18px;transition:border-color .2s,box-shadow .2s}.add-bar:focus-within{border-color:var(--accent);box-shadow:4px 5px color-mix(in srgb,var(--accent) 40%,transparent)}.add-category{border:2px solid var(--line);border-radius:12px;background:var(--card-2);font-size:13.5px;font-weight:700;padding:0 6px;max-width:130px;outline:none;cursor:pointer}.add-input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-size:15.5px;font-weight:600;padding:8px 10px}.add-input::placeholder{color:var(--muted);font-weight:500}.add-qty{width:60px;border:none;border-left:2px solid var(--line);background:transparent;outline:none;font-size:14px;font-weight:700;text-align:center;color:var(--muted)}.add-qty:focus{color:var(--text)}.add-btn{width:42px;height:42px;border-radius:13px 15px/15px 13px;background:var(--accent, var(--primary));color:#fff;display:grid;place-items:center;border:2px solid var(--ink);box-shadow:2px 3px 0 var(--hard);transition:filter .15s,opacity .15s;flex-shrink:0}.add-btn:hover:not(:disabled){filter:brightness(1.08)}.add-btn:disabled{opacity:.4;cursor:default}.item-list{display:flex;flex-direction:column}.item-card{background:var(--card);border:2px solid var(--line);border-radius:16px 19px/19px 16px;padding:12px 14px;margin-bottom:11px;box-shadow:3px 4px 0 var(--hard);overflow:hidden;transition:transform .15s,box-shadow .15s,border-color .15s}.item-card:hover{transform:translate(-1px,-1px) rotate(-.3deg);box-shadow:4px 5px 0 var(--hard);border-color:color-mix(in srgb,var(--accent, var(--primary)) 45%,var(--line))}.item-card:nth-child(2n):hover{transform:translate(-1px,-1px) rotate(.3deg)}.item-row{display:flex;align-items:center;gap:11px}.checkbox{width:28px;height:28px;border-radius:50%;border:3px solid var(--accent, var(--primary));flex-shrink:0;position:relative;display:grid;place-items:center;transition:transform .12s;box-shadow:1.5px 2px 0 var(--hard)}.checkbox:hover{transform:scale(1.12) rotate(8deg)}.checkbox-fill{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background:var(--accent, var(--primary));color:#fff;display:grid;place-items:center}.checkbox-fill.not-needed{background:var(--muted)}.item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.item-title{font-weight:700;font-size:15.5px;overflow-wrap:break-word;transition:color .25s}.item-title.struck{text-decoration:line-through;text-decoration-thickness:2.5px;text-decoration-color:var(--accent, var(--primary));color:var(--muted)}.qty-inline{color:var(--muted);font-weight:700;font-size:13.5px}.item-meta{font-size:12.5px;color:var(--muted);font-weight:600}.item-meta b{font-weight:800}.mini-cat{font-weight:800;color:var(--accent, var(--muted))}.qty-chip{background:color-mix(in srgb,var(--accent, var(--primary)) 14%,transparent);color:var(--accent, var(--primary));font-family:var(--font-display);font-weight:700;font-size:12.5px;border-radius:999px;padding:3px 10px;border:1.5px solid color-mix(in srgb,var(--accent, var(--primary)) 35%,transparent);flex-shrink:0;transform:rotate(-2deg)}.cat-chip{width:34px;height:34px;border-radius:11px 13px/13px 11px;background:color-mix(in srgb,var(--accent, var(--primary)) 15%,transparent);border:1.5px solid color-mix(in srgb,var(--accent, var(--primary)) 35%,transparent);display:grid;place-items:center;font-size:17px;flex-shrink:0;transform:rotate(-3deg)}.res-badge{display:inline-flex;align-items:center;gap:3px;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:800;vertical-align:1px}.res-badge.ok{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.res-badge.nn{background:color-mix(in srgb,var(--muted) 16%,transparent);color:var(--muted)}.item-actions{display:flex;align-items:center;gap:3px;flex-shrink:0}.action-btn{position:relative;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;color:var(--muted);opacity:0;transition:opacity .15s,color .15s,background .15s,transform .12s}.item-card:hover .action-btn,.trip-card .item-actions.always .action-btn,.item-actions .action-btn.has-remarks,.item-actions .action-btn.open{opacity:1}.action-btn:hover{color:var(--text);background:var(--card-2);transform:scale(1.12)}.action-btn.danger:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.action-btn.ban:hover{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}.action-btn.remarks-toggle-btn.has-remarks{color:var(--accent, var(--primary))}.action-btn.remarks-toggle-btn i{position:absolute;top:-3px;right:-3px;font-style:normal;font-size:10px;font-weight:900;min-width:15px;height:15px;border-radius:999px;background:var(--accent, var(--primary));color:#fff;display:grid;place-items:center;border:1.5px solid var(--card)}@media(hover:none){.action-btn{opacity:.6}}.item-delete{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;color:var(--muted);opacity:0;transition:opacity .15s,color .15s,background .15s;flex-shrink:0}.expense-row:hover .item-delete{opacity:1}.item-delete:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}@media(hover:none){.item-delete{opacity:.55}}.edit-form{flex:1;display:flex;gap:6px;align-items:center;min-width:0}.edit-title{flex:1;min-width:0;border:2px solid var(--accent, var(--primary));border-radius:10px;background:var(--card-2);font-size:14.5px;font-weight:600;padding:7px 10px;outline:none}.edit-qty{width:54px;border:2px solid var(--line);border-radius:10px;background:var(--card-2);font-size:13px;font-weight:700;text-align:center;padding:7px 4px;outline:none}.mini-btn{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;border:2px solid var(--ink);box-shadow:1.5px 2px 0 var(--hard);flex-shrink:0}.mini-btn.save{background:var(--success);color:#fff}.mini-btn.cancel{background:var(--card-2);color:var(--muted)}.mini-btn:disabled{opacity:.5}.done-card .item-title,.archive-card .item-title{font-size:15px}.archive-card{opacity:.88}.not-needed-card{opacity:.9}.not-needed-card .item-title.struck{text-decoration-color:var(--muted)}.remarks-wrap{overflow:hidden}.remarks-panel{margin-top:11px;padding-top:10px;border-top:2px dashed var(--line)}.remark-list{display:flex;flex-direction:column;gap:7px;margin-bottom:9px}.remark-list:empty{margin-bottom:0}.remark-row{display:flex;align-items:flex-start;gap:8px;overflow:hidden}.remark-bubble{background:var(--card-2);border:1.5px solid var(--line);border-radius:4px 14px 14px;padding:6px 11px;max-width:85%}.remark-author{display:block;font-size:11px;font-weight:900;color:var(--accent, var(--primary))}.remark-text{font-size:13.5px;font-weight:600;overflow-wrap:break-word}.remark-time{margin-left:7px;font-size:10.5px;color:var(--muted);font-weight:600;white-space:nowrap}.remark-delete{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:var(--muted);margin-top:4px;transition:color .15s,background .15s}.remark-delete:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.remark-add{display:flex;gap:7px}.remark-add input{flex:1;min-width:0;border:2px solid var(--line);border-radius:999px;background:var(--card-2);font-size:13.5px;font-weight:600;padding:8px 14px;outline:none;transition:border-color .15s}.remark-add input:focus{border-color:var(--accent, var(--primary))}.remark-add input::placeholder{color:var(--muted)}.remark-send{width:36px;height:36px;border-radius:50%;background:var(--accent, var(--primary));color:#fff;display:grid;place-items:center;border:2px solid var(--ink);box-shadow:1.5px 2px 0 var(--hard);flex-shrink:0}.remark-send:disabled{opacity:.4}.empty-state{text-align:center;padding:44px 20px;color:var(--muted)}.empty-glyph{position:relative;width:84px;height:84px;margin:0 auto 16px;border-radius:26px 30px/30px 26px;background:var(--card);border:2.5px dashed var(--line);box-shadow:4px 5px 0 var(--hard);display:grid;place-items:center;transform:rotate(-3deg);animation:bob 3.2s ease-in-out infinite}@keyframes bob{0%,to{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(2deg) translateY(-6px)}}.empty-emoji{font-size:38px;line-height:1}.empty-spark{position:absolute;top:-10px;right:-10px;color:var(--warn);animation:sparkle 2.2s ease-in-out infinite}@keyframes sparkle{0%,to{transform:rotate(-8deg) scale(1)}50%{transform:rotate(10deg) scale(1.2)}}.empty-state h3{color:var(--text);font-size:18px;font-weight:700;margin-bottom:5px}.empty-state p{font-size:14px;font-weight:600;max-width:340px;margin:0 auto;line-height:1.5}.remove-tab-btn{display:inline-flex;align-items:center;gap:6px;margin-top:18px;padding:8px 14px;border-radius:999px;border:2px dashed color-mix(in srgb,var(--danger) 50%,var(--line));color:var(--danger);font-weight:800;font-size:12.5px;transition:background .15s}.remove-tab-btn:hover{background:color-mix(in srgb,var(--danger) 8%,transparent)}.holidays-view{display:flex;flex-direction:column}.add-trip-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px;border-radius:18px 22px/22px 18px;border:2.5px dashed color-mix(in srgb,var(--primary) 55%,var(--line));color:var(--primary);font-family:var(--font-display);font-weight:700;font-size:15.5px;background:color-mix(in srgb,var(--primary) 5%,transparent);transition:background .15s,border-color .15s,transform .15s;margin-bottom:18px}.add-trip-btn:hover{background:color-mix(in srgb,var(--primary) 10%,transparent);border-color:var(--primary);transform:rotate(-.4deg)}.trip-form{background:var(--card);border:2.5px solid var(--ink);border-radius:20px 24px/24px 20px;padding:18px;box-shadow:5px 6px 0 var(--hard);margin-bottom:18px}.trip-form-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.trip-form-head h3{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700;color:var(--primary)}.emoji-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.emoji-btn{width:42px;height:42px;border-radius:13px 15px/15px 13px;font-size:21px;display:grid;place-items:center;background:var(--card-2);border:2px solid transparent;transition:transform .12s,border-color .15s,background .15s,box-shadow .15s}.emoji-btn:hover{transform:scale(1.15) rotate(-6deg)}.emoji-btn.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);box-shadow:2px 3px 0 var(--hard);transform:rotate(-4deg)}.trip-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.trip-form-grid .span-2{grid-column:span 2}.trip-form-grid .field input{font-size:14.5px;padding:12px 12px 12px 40px}.trip-save{width:100%;margin-top:12px}.trip-card{background:var(--card);border:2px solid var(--line);border-radius:20px 24px/24px 20px;padding:17px;box-shadow:4px 5px 0 var(--hard);margin-bottom:15px;overflow:hidden;transition:transform .15s,box-shadow .15s}.trip-card:hover{transform:translate(-1px,-1px);box-shadow:5px 6px 0 var(--hard)}.trip-head{display:flex;align-items:center;gap:13px;margin-bottom:14px}.trip-emoji{width:52px;height:52px;border-radius:16px 19px/19px 16px;background:color-mix(in srgb,var(--primary) 13%,transparent);border:2px solid color-mix(in srgb,var(--primary) 30%,transparent);display:grid;place-items:center;font-size:26px;flex-shrink:0;transform:rotate(-4deg)}.trip-titles{flex:1;min-width:0}.trip-titles h3{font-size:18.5px;font-weight:700;letter-spacing:-.2px}.trip-sub{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;color:var(--muted);font-size:13px;font-weight:700}.trip-sub svg{vertical-align:-2px}.budget-block{margin-bottom:12px}.budget-numbers{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.budget-spent{font-weight:800;font-size:14.5px}.budget-spent em{font-style:normal;color:var(--muted);font-weight:600;font-size:13px}.budget-remaining{font-family:var(--font-display);font-weight:800;font-size:17px}.budget-remaining.ok{color:var(--success)}.budget-remaining.warn{color:var(--warn)}.budget-remaining.over{color:var(--danger)}.budget-track{height:14px;border-radius:999px;background:var(--card-2);border:2px solid var(--line);overflow:hidden}.budget-fill{height:100%;border-radius:999px;min-width:0}.budget-fill.ok{background:repeating-linear-gradient(-45deg,#34d399 0,#34d399 10px,#10b981 10px,#10b981 20px)}.budget-fill.warn{background:repeating-linear-gradient(-45deg,#fbbf24 0,#fbbf24 10px,#f59e0b 10px,#f59e0b 20px)}.budget-fill.over{background:repeating-linear-gradient(-45deg,#f87171 0,#f87171 10px,#ef4444 10px,#ef4444 20px)}.personal-line{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:8px;font-size:12.5px;font-weight:600;color:var(--muted)}.personal-line b{font-weight:800;color:var(--text)}.personal-line .ok{color:var(--success);font-weight:800}.personal-line .over{color:var(--danger);font-weight:800}.scope-switch{display:flex;gap:4px;background:var(--card-2);border:2px solid var(--line);border-radius:999px;padding:4px;margin:12px 0 4px}.scope-btn{position:relative;flex:1;padding:7px 6px;border-radius:999px;font-family:var(--font-display);font-weight:700;font-size:13px;color:var(--muted);transition:color .2s}.scope-btn.active{color:#fff}.scope-pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--primary-grad);border:2px solid var(--ink);box-shadow:1.5px 2px 0 var(--hard)}.scope-label{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px}.personal-budget{background:color-mix(in srgb,var(--primary) 7%,transparent);border:2px dashed color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:14px;padding:10px 13px;margin-top:10px}.personal-budget .budget-numbers{margin-bottom:6px}.budget-track.slim{height:10px}.pb-edit{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;color:var(--primary);vertical-align:-5px;margin-left:4px;transition:background .15s,transform .12s}.pb-edit:hover{background:color-mix(in srgb,var(--primary) 14%,transparent);transform:scale(1.12)}.personal-budget-edit{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.pb-label{font-family:var(--font-display);font-weight:700;font-size:13px;color:var(--muted)}.personal-budget-edit input{flex:1;min-width:90px;border:2px solid var(--primary);border-radius:10px;background:var(--card);font-size:14px;font-weight:700;padding:7px 11px;outline:none}.panel-toggles{display:flex;gap:6px;flex-wrap:wrap}.panel-toggle{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:700;font-size:13px;color:var(--muted);padding:7px 11px;border-radius:999px;border:2px solid var(--line);background:var(--card-2);transition:color .15s,border-color .15s,background .15s}.panel-toggle:hover{color:var(--text)}.panel-toggle.open{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 50%,transparent);background:color-mix(in srgb,var(--primary) 8%,transparent)}.panel-toggle.has-remarks{color:var(--primary)}.chevron{display:grid;place-items:center}.expenses-panel{overflow:hidden}.panel-hint{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px;font-weight:700;margin:12px 2px 8px}.expense-add{display:flex;gap:8px;background:var(--card-2);border:2px solid var(--line);border-radius:14px 16px/16px 14px;padding:6px;margin-bottom:12px;transition:border-color .2s}.expense-add:focus-within{border-color:var(--primary)}.expense-add .add-input{font-size:14.5px;padding:6px 8px}.expense-add .add-qty.amount{width:76px}.expense-add .add-btn{width:36px;height:36px;border-radius:11px;--accent: var(--primary)}.expense-list{display:flex;flex-direction:column}.expense-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:2px dashed var(--line);overflow:hidden}.expense-row:last-child{border-bottom:none}.expense-body{flex:1;min-width:0;display:flex;flex-direction:column}.expense-desc{font-weight:700;font-size:14px}.expense-meta{font-size:11.5px;color:var(--muted);font-weight:600}.expense-amount{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--danger);white-space:nowrap}.expense-empty{color:var(--muted);font-size:13px;font-weight:600;padding:8px 4px 10px}.settle-panel{padding-top:2px}.member-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.member-chip{display:flex;align-items:center;gap:7px;padding:5px 12px 5px 5px;border-radius:999px;border:2px dashed var(--line);color:var(--muted);font-family:var(--font-display);font-weight:700;font-size:13px;transition:all .15s;opacity:.75}.member-chip:hover{opacity:1}.member-chip.on{border:2px solid var(--ink);background:var(--card-2);color:var(--text);opacity:1;box-shadow:2px 3px 0 var(--hard)}.settle-summary{font-size:13.5px;font-weight:600;color:var(--muted);background:var(--card-2);border:2px dashed var(--line);border-radius:12px;padding:9px 13px;margin-bottom:10px}.settle-summary b{color:var(--text);font-weight:800}.settle-lines{display:flex;flex-direction:column;margin-bottom:12px}.settle-line{display:flex;align-items:center;gap:9px;padding:7px 4px;border-bottom:2px dashed var(--line);font-size:13.5px}.settle-line:last-child{border-bottom:none}.settle-name{font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis}.settle-paid{flex:1;color:var(--muted);font-weight:600;text-align:right}.settle-diff{font-family:var(--font-display);font-weight:700;white-space:nowrap}.settle-diff.plus{color:var(--success)}.settle-diff.minus{color:var(--danger)}.transfers{background:color-mix(in srgb,var(--primary) 7%,transparent);border:2px solid color-mix(in srgb,var(--primary) 30%,transparent);border-radius:15px 18px/18px 15px;padding:12px 14px}.transfers-title{font-family:var(--font-display);font-weight:700;font-size:14px;margin-bottom:8px}.transfer-row{display:flex;align-items:center;gap:7px;padding:5px 0;font-size:14px}.transfer-name{font-weight:800}.transfer-arrow{color:var(--muted)}.transfer-amount{margin-left:auto;font-family:var(--font-display);font-weight:800;color:var(--primary);background:var(--card);border:2px solid color-mix(in srgb,var(--primary) 35%,transparent);border-radius:999px;padding:2px 11px;transform:rotate(-1.5deg)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#140e2e80;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;overflow-y:auto}.modal-card{background:var(--card);border:2.5px solid var(--ink);border-radius:22px 26px/26px 22px;padding:24px;max-width:380px;width:100%;box-shadow:6px 7px 0 var(--hard);text-align:center}.modal-icon{width:54px;height:54px;margin:0 auto 14px;border-radius:17px;background:color-mix(in srgb,var(--danger) 12%,transparent);border:2px solid color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger);display:grid;place-items:center;transform:rotate(-5deg)}.modal-card h3{font-size:17.5px;font-weight:700;margin-bottom:6px;overflow-wrap:break-word}.modal-card p{color:var(--muted);font-size:14px;font-weight:600;margin-bottom:20px}.modal-actions{display:flex;gap:10px}.modal-actions .btn{flex:1;padding:11px;font-size:14.5px}.add-tab-card{text-align:left;max-width:420px}.add-tab-head{display:flex;align-items:center;justify-content:space-between}.add-tab-head h3{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700;color:var(--primary)}.add-tab-sub{color:var(--muted);font-size:13px;font-weight:600;margin:2px 0 14px}.add-tab-preview{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:14.5px;color:#fff;background:var(--tab-color, var(--primary));border:2px solid var(--ink);border-radius:999px;padding:8px 16px;box-shadow:2px 3px 0 var(--hard);margin-bottom:14px;transform:rotate(-1.5deg)}.add-tab-name{width:100%;padding:12px 14px;border-radius:13px;border:2px solid var(--line);background:var(--card-2);font-size:15px;font-weight:600;outline:none;margin-bottom:6px;transition:border-color .15s}.add-tab-name:focus{border-color:var(--primary)}.picker-label{font-family:var(--font-display);font-weight:700;font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin:12px 0 7px}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.emoji-grid .emoji-btn{width:100%;height:38px;font-size:18px}.color-row{display:flex;gap:8px;flex-wrap:wrap}.color-dot{width:30px;height:30px;border-radius:50%;border:2.5px solid transparent;transition:transform .12s,border-color .15s,box-shadow .15s}.color-dot:hover{transform:scale(1.18)}.color-dot.active{border-color:var(--ink);box-shadow:2px 3px 0 var(--hard);transform:scale(1.12) rotate(10deg)}.add-tab-save{width:100%;margin-top:16px}.toast-stack{position:fixed;bottom:calc(22px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:max-content;max-width:calc(100vw - 32px)}.toast{display:flex;align-items:center;gap:9px;background:var(--card);border:2px solid var(--ink);color:var(--text);border-radius:999px;padding:11px 18px;font-weight:800;font-size:13.5px;box-shadow:3px 4px 0 var(--hard);max-width:100%}.toast span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-success svg{color:var(--success);flex-shrink:0}.toast-error svg{color:var(--danger);flex-shrink:0}@media(max-width:560px){.user-name{display:none}.user-chip{padding:3px}.content{padding:16px 12px calc(90px + env(safe-area-inset-bottom,0px))}.trip-form-grid{grid-template-columns:minmax(0,1fr)}.trip-form-grid .span-2{grid-column:span 1}.header-inner{padding:9px 12px}.tabbar{top:60px}.emoji-grid{grid-template-columns:repeat(6,1fr)}.add-category{max-width:74px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.receipts-view{display:flex;flex-direction:column;gap:12px}.receipt-modes{display:flex;gap:6px;padding:4px;background:var(--card-2);border:2px solid var(--line);border-radius:16px}.receipt-modes .scope-btn{flex:1}.receipt-photo-row{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.receipt-photo-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 16px;border:2px dashed var(--line);border-radius:18px;background:var(--card-2);color:var(--text);font-family:var(--font);font-size:.95rem;font-weight:800;cursor:pointer;transition:border-color .15s,background .15s}.receipt-photo-btn:hover{border-color:var(--active-accent, var(--primary));background:var(--card)}.receipt-photo-btn small{font-weight:600;font-size:.78rem;color:var(--muted);text-align:center}.receipt-thumb{position:relative;border-radius:16px;overflow:hidden;border:2px solid var(--line);background:var(--card-2);max-height:260px}.receipt-thumb img{display:block;width:100%;max-height:260px;object-fit:contain}.receipt-scanning{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;background:#0000009e;color:#fff;font-weight:800;font-size:.9rem;text-align:center}.scan-track{width:min(220px,80%);height:6px;border-radius:999px;background:#ffffff40;overflow:hidden}.scan-fill{height:100%;border-radius:999px;background:#fff}.spin{animation:receipt-spin 1s linear infinite}@keyframes receipt-spin{to{transform:rotate(360deg)}}.receipt-photo-actions{display:flex;gap:8px}.receipt-photo-actions .btn{flex:1;gap:6px;font-size:.85rem;padding:8px 10px}.receipt-cat-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.receipt-items-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.receipt-items-sum{font-size:.8rem;font-weight:800;color:var(--muted)}.receipt-items-sum.mismatch{color:var(--warn)}.receipt-item-rows{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.receipt-item-row{display:flex;flex-direction:column;gap:5px;padding:8px;background:var(--card-2);border:2px solid var(--line);border-radius:14px}.receipt-item-row .receipt-item-name{width:100%;min-width:0}.receipt-item-maths{display:flex;align-items:center;gap:6px}.receipt-item-maths .add-qty{flex:none;min-width:0}.receipt-qty{width:62px}.receipt-unit{width:82px}.receipt-times{font-weight:800;color:var(--muted);flex:none}.receipt-line-total{margin-left:auto;font-weight:800;font-size:.9rem;color:var(--text);white-space:nowrap}.receipt-mismatch{font-size:.82rem;font-weight:700;color:var(--warn);margin-bottom:8px}.receipt-add-item{width:100%;gap:6px;margin-bottom:12px;font-size:.88rem}.receipt-card .trip-head{align-items:center}.receipt-mini-thumb{width:46px;height:46px;flex:none;border-radius:12px;overflow:hidden;border:2px solid var(--line);background:var(--card-2);padding:0;cursor:pointer;display:grid;place-items:center;color:var(--muted)}.receipt-mini-thumb img{width:100%;height:100%;object-fit:cover;display:block}.receipt-mini-thumb.empty{cursor:default}.receipt-total{font-family:var(--font-display);font-size:1.15rem;font-weight:800;color:var(--text);white-space:nowrap}.receipt-note{font-size:.86rem;color:var(--muted);font-weight:600;margin:0 0 10px}.receipt-by{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--muted);margin-left:auto;padding:0 4px}.receipt-line{gap:10px}.receipt-line .expense-desc{flex:1}.receipt-full{max-width:min(92vw,620px);max-height:86vh;object-fit:contain;border-radius:18px;border:3px solid var(--card);box-shadow:0 18px 50px #00000073}.reports-panel{display:flex;flex-direction:column;gap:16px}.range-row{display:flex;flex-wrap:wrap;gap:6px}.report-controls{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--card);border:2px solid var(--line);border-radius:18px;box-shadow:0 3px 0 var(--hard)}.report-control{display:flex;flex-direction:column;gap:5px}.report-control-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.report-summary{font-family:var(--font-display);font-size:.95rem;font-weight:800;color:var(--text);text-align:center}.report-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media(min-width:520px){.report-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.report-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 8px;background:var(--card);border:2px solid var(--line);border-radius:16px;box-shadow:0 3px 0 var(--hard)}.report-stat-value{font-family:var(--font-display);font-size:1.15rem;font-weight:800;color:var(--text);text-align:center;line-height:1.15}.report-stat-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.report-block{background:var(--card);border:2px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 3px 0 var(--hard)}.report-title{font-family:var(--font-display);font-size:.95rem;font-weight:800;color:var(--text);margin-bottom:10px}.report-bars{list-style:none;display:flex;flex-direction:column;gap:8px}.report-bar-row{display:grid;grid-template-columns:minmax(72px,30%) 1fr auto;align-items:center;gap:8px}.report-bar-label{font-size:.84rem;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-bar-track{height:10px;border-radius:999px;background:var(--card-2);overflow:hidden}.report-bar-fill{height:100%;border-radius:999px;background:var(--active-accent, var(--primary))}.report-bar-value{font-size:.82rem;font-weight:800;color:var(--muted);white-space:nowrap}.report-columns{display:flex;align-items:flex-end;gap:6px;overflow-x:auto;padding-bottom:4px}.report-column{flex:1;min-width:44px;display:flex;flex-direction:column;align-items:center;gap:4px}.report-column-value{font-size:.68rem;font-weight:800;color:var(--muted);white-space:nowrap}.report-column-track{width:100%;height:90px;display:flex;align-items:flex-end;background:var(--card-2);border-radius:8px;overflow:hidden}.report-column-fill{width:100%;background:var(--active-accent, var(--primary));border-radius:8px 8px 0 0;min-height:3px}.report-column-label{font-size:.72rem;font-weight:800;color:var(--text)}.receipt-line-qty{font-size:.76rem;font-weight:700;color:var(--muted);white-space:nowrap;flex:none}.field,.trip-form-grid .field{min-width:0}.field input[type=date]{min-width:0;width:100%;max-width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:var(--font);font-size:15px;height:auto;line-height:1.25;text-align:left}.field input[type=date]::-webkit-date-and-time-value{text-align:left;width:100%;margin:0}.field input[type=date]::-webkit-datetime-edit,.field input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0;text-align:left}.field input[type=date]::-webkit-calendar-picker-indicator{margin-left:0;opacity:.55;cursor:pointer}.receipt-photo-pick{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.receipt-photo-pick .receipt-photo-btn{padding:18px 10px;gap:6px;font-size:.86rem;text-align:center}.receipt-photo-note{display:block;font-size:.78rem;font-weight:600;color:var(--muted);text-align:center;padding:0 4px}.report-columns.dense .report-column{min-width:26px}.report-columns.dense .report-column-label{font-size:.6rem;writing-mode:vertical-rl;transform:rotate(180deg);max-height:52px;overflow:hidden}.report-trend-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:8px;font-size:.72rem;font-weight:700;color:var(--muted)}.store-chip .tab-emoji{font-size:.95em;line-height:1}.member-chip.store-chip.on{border-color:var(--tab-color, var(--primary));background:color-mix(in srgb,var(--tab-color, var(--primary)) 18%,var(--card));color:var(--text)}.report-title{display:flex;align-items:center;gap:7px}.report-title-glyph{font-size:1.05rem;line-height:1}.report-stat{gap:1px;position:relative;overflow:hidden}.report-stat-glyph{font-size:1.05rem;line-height:1;margin-bottom:2px}.report-stat:after{content:"";position:absolute;right:-18px;top:-18px;width:46px;height:46px;border-radius:50%;background:var(--active-accent, var(--primary));opacity:.09;pointer-events:none}.report-bar-emoji{margin-right:5px}.report-bar-fill{background-image:linear-gradient(180deg,#ffffff47,#fff0)}.store-groups{display:flex;flex-direction:column;gap:12px}.store-group{padding:10px;border-radius:16px;background:color-mix(in srgb,var(--store, var(--primary)) 8%,var(--card-2));border:2px solid color-mix(in srgb,var(--store, var(--primary)) 28%,var(--line))}.store-group-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.store-badge{width:30px;height:30px;flex:none;display:grid;place-items:center;font-size:1rem;border-radius:11px;background:var(--card);border:2px solid color-mix(in srgb,var(--store, var(--primary)) 45%,var(--line));box-shadow:0 2px 0 var(--hard);transform:rotate(-3deg)}.store-group-name{font-family:var(--font-display);font-weight:800;font-size:.95rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.store-group-total{margin-left:auto;font-weight:800;font-size:.9rem;color:var(--store, var(--primary));white-space:nowrap}.store-group .report-bar-row{grid-template-columns:minmax(64px,38%) 1fr auto}.receipt-mini-thumb.store-tinted{font-size:1.15rem;background:color-mix(in srgb,var(--store, var(--primary)) 14%,var(--card-2));border-color:color-mix(in srgb,var(--store, var(--primary)) 40%,var(--line))}.store-group-more{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;margin-top:6px;padding:6px;border:none;border-radius:10px;background:transparent;color:var(--store, var(--primary));font-family:var(--font);font-size:.8rem;font-weight:800;cursor:pointer}.store-group-more:hover{background:color-mix(in srgb,var(--store, var(--primary)) 12%,transparent)}.money-panel{display:flex;flex-direction:column;gap:14px}.money-note{font-size:.76rem;font-weight:600;color:var(--muted);text-align:center;padding:0 6px}.money-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px 16px 16px;border-radius:22px;border:2px solid var(--line);background:var(--card);box-shadow:0 4px 0 var(--hard);--tone: var(--success)}.money-hero.over{--tone: var(--danger)}.money-hero:before{content:"";position:absolute;top:-40%;right:40%;bottom:55%;left:-30%;border-radius:50%;background:var(--tone);opacity:.12;pointer-events:none}.money-hero-label{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.money-hero-value{font-family:var(--font-display);font-size:2.1rem;font-weight:800;line-height:1.05;color:var(--tone)}.money-hero-track{width:100%;height:12px;margin-top:8px;border-radius:999px;background:var(--card-2);border:2px solid var(--line);overflow:hidden}.money-hero-fill{height:100%;border-radius:999px;background:var(--tone);background-image:linear-gradient(180deg,#ffffff4d,#fff0)}.money-hero-legend{display:flex;gap:14px;margin-top:8px;font-size:.8rem;font-weight:700;color:var(--muted)}.money-hero-legend span{display:inline-flex;align-items:center;gap:4px}.money-hero-legend b{color:var(--text)}.money-columns{display:flex;align-items:flex-end;gap:10px;overflow-x:auto;padding-bottom:4px}.money-columns.dense{gap:6px}.money-column{flex:1;min-width:46px;display:flex;flex-direction:column;align-items:center;gap:4px}.money-columns.dense .money-column{min-width:34px}.money-column-pair{display:flex;align-items:flex-end;justify-content:center;gap:3px;width:100%;height:108px}.money-bar{flex:1;max-width:16px;min-height:3px;border-radius:6px 6px 0 0;background-image:linear-gradient(180deg,#ffffff4d,#fff0)}.money-bar.income{background-color:var(--success)}.money-bar.spent{background-color:var(--warn)}.money-column-balance{font-size:.66rem;font-weight:800;color:var(--success);white-space:nowrap}.money-column-balance.over{color:var(--danger)}.money-column-label{font-size:.68rem;font-weight:800;color:var(--text);white-space:nowrap}.money-key{display:flex;justify-content:center;gap:16px;margin-top:10px;font-size:.76rem;font-weight:700;color:var(--muted)}.money-key span{display:inline-flex;align-items:center;gap:5px}.money-key .swatch{width:11px;height:11px;border-radius:4px;display:inline-block}.money-key .swatch.income{background:var(--success)}.money-key .swatch.spent{background:var(--warn)}.money-lines{display:flex;flex-direction:column;gap:10px}.money-person{padding:12px;border-radius:18px;background:color-mix(in srgb,var(--who, var(--primary)) 8%,var(--card));border:2px solid color-mix(in srgb,var(--who, var(--primary)) 30%,var(--line));box-shadow:0 3px 0 var(--hard)}.money-person-head{display:flex;align-items:center;gap:9px}.money-person-name{font-family:var(--font-display);font-weight:800;font-size:1rem;color:var(--text);display:flex;align-items:baseline;gap:6px}.money-person-tag{font-family:var(--font);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.money-person-balance{margin-left:auto;font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:var(--success);white-space:nowrap}.money-person-balance.over{color:var(--danger)}.money-person-track{height:9px;margin-top:9px;border-radius:999px;background:var(--card-2);overflow:hidden}.money-person-fill{height:100%;border-radius:999px;background:var(--who, var(--primary))}.money-person-figures{display:flex;gap:14px;margin-top:7px;font-size:.78rem;font-weight:700;color:var(--muted)}.money-person-figures b{color:var(--text)}.money-add{width:100%;gap:6px;margin-bottom:10px}.income-month{margin-top:10px}.income-month-head{display:flex;justify-content:space-between;align-items:baseline;padding:0 2px 5px;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.income-month-total{color:var(--text);font-size:.86rem;text-transform:none;letter-spacing:0}.income-list{list-style:none;display:flex;flex-direction:column;gap:5px}.income-row{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:12px;background:var(--card-2)}.income-label{flex:1;min-width:0;font-weight:700;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.income-amount{font-weight:800;font-size:.9rem;color:var(--success);white-space:nowrap}.income-form{display:flex;flex-direction:column;gap:7px;padding:10px;border-radius:14px;background:var(--card-2);border:2px solid var(--line);margin-bottom:8px}.income-form-row{display:flex;align-items:center;gap:6px}.income-month-input{flex:1;min-width:0;padding:10px 12px;border-radius:12px;border:2px solid var(--line);background:var(--card);color:var(--text);font-family:var(--font);font-size:14.5px;font-weight:600;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.income-form-row .add-qty{width:92px;flex:none}.receipt-total{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}.receipt-payer{font-family:var(--font);font-size:.68rem;font-weight:700;color:var(--muted);white-space:nowrap}.receipt-payer-hint{font-size:.78rem;font-weight:700;color:var(--warn);margin:-6px 0 10px}.logo-btn{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit}.logo-btn:hover .logo-badge{transform:rotate(-8deg) scale(1.06)}.logo-badge{transition:transform .2s}.join-code-card{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;margin:14px 0 4px;padding:16px 14px;border-radius:18px;border:2px dashed color-mix(in srgb,var(--primary) 45%,var(--line));background:color-mix(in srgb,var(--primary) 8%,var(--card-2));cursor:pointer;transition:background .2s,transform .1s}.join-code-card:hover{background:color-mix(in srgb,var(--primary) 14%,var(--card-2))}.join-code-card:active{transform:scale(.985)}.join-code-card:disabled{cursor:default;opacity:.6}.join-code-value{font-family:ui-monospace,SF Mono,Cascadia Mono,Menlo,Consolas,monospace;font-size:1.6rem;font-weight:800;letter-spacing:.12em;color:var(--text);white-space:nowrap}.join-code-copy{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:800;color:var(--primary)}.join-code-copy span{display:inline-flex;align-items:center;gap:5px}.home-created .login-logo{color:var(--primary);display:grid;place-items:center}.home-panel{position:relative}.modal-close{position:absolute;top:10px;right:10px}.home-rename-btn{margin-left:6px;vertical-align:middle}.home-rename-form{display:flex;flex-direction:column;gap:10px;width:100%}.home-rename-form input{width:100%;padding:12px 14px;border-radius:14px;border:2px solid var(--line);background:var(--card-2);color:var(--text);font-family:var(--font);font-size:15px;font-weight:700;outline:none}.home-rename-form input:focus{border-color:var(--primary)}@media(max-width:380px){.join-code-value{font-size:1.3rem;letter-spacing:.08em}}
