@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap";:root{--primary:#06c;--primary-focus:#0071e3;--primary-on-dark:#2997ff;--on-primary:#fff;--canvas:#fff;--canvas-parchment:#f5f5f7;--surface-pearl:#fafafc;--tile-1:#272729;--tile-2:#2a2a2c;--tile-3:#252527;--black:#000;--chip-translucent:#d2d2d7a3;--ink:#1d1d1f;--body:#1d1d1f;--on-dark:#fff;--body-muted:#ccc;--ink-80:#333;--ink-48:#7a7a7a;--divider-soft:#0000000a;--hairline:#e0e0e0;--hairline-08:#00000014;--r-xs:5px;--r-sm:8px;--r-md:11px;--r-lg:18px;--r-pill:9999px;--shadow-product:#00000038 3px 5px 30px 0;--sp-xxs:4px;--sp-xs:8px;--sp-sm:12px;--sp-md:17px;--sp-lg:24px;--sp-xl:32px;--sp-xxl:48px;--sp-section:80px;--font-display:system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", sans-serif;--font-text:system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", sans-serif;--tabbar-h:56px;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-text);letter-spacing:-.374px;background:var(--canvas-parchment);color:var(--ink);-webkit-font-smoothing:antialiased;font-feature-settings:"ss03";overscroll-behavior-y:none;font-size:17px;line-height:1.47}button{cursor:pointer;font-family:inherit}a{color:var(--primary);text-decoration:none}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.374px;font-weight:600}.app{background:var(--canvas-parchment);flex-direction:column;max-width:480px;height:100%;margin:0 auto;display:flex;position:relative}.switcher{font-family:var(--font-display);letter-spacing:-.2px;color:var(--ink);-webkit-backdrop-filter:saturate(180%)blur(20px);border:none;border-bottom:1px solid var(--hairline-08);background:#f5f5f7cc;flex:none;align-items:center;gap:8px;width:100%;padding:14px 20px;font-size:21px;font-weight:600;display:flex}.switcher .em{border-radius:var(--r-sm);place-items:center;width:26px;height:26px;font-size:15px;display:grid}.switcher .ar{color:var(--ink-48);font-size:13px}.tab-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.nav-lg{padding:var(--sp-lg) 20px 8px}.nav-lg .eyebrow{color:var(--ink-48);letter-spacing:-.224px;font-size:14px}.nav-lg h2{letter-spacing:-.5px;font-size:40px;font-weight:600;line-height:1.1}.tabbar{height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--black);flex:none;display:flex}.tab{color:var(--body-muted);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding-top:6px;transition:transform .1s;display:flex}.tab:active{transform:scale(.95)}.tab.on{color:var(--on-dark)}.tab .ti{font-size:19px}.tab .tl{letter-spacing:-.12px;font-size:11px;font-weight:400}.btn{border-radius:var(--r-pill);font-family:var(--font-text);letter-spacing:-.374px;border:none;justify-content:center;align-items:center;padding:11px 22px;font-size:17px;font-weight:400;transition:transform .1s;display:inline-flex}.btn:active{transform:scale(.95)}.btn.pri{background:var(--primary);color:var(--on-primary)}.btn.sec{color:var(--primary);border:1px solid var(--primary);background:0 0;margin-top:10px}.btn:focus-visible{outline:2px solid var(--primary-focus);outline-offset:2px}.empty{padding:var(--sp-section) 30px;text-align:center;background:var(--canvas);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.empty .ill{border-radius:var(--r-lg);background:var(--canvas-parchment);width:120px;height:120px;margin-bottom:var(--sp-lg);box-shadow:var(--shadow-product);place-items:center;font-size:56px;display:grid}.empty h3{font-family:var(--font-display);letter-spacing:-.5px;font-size:40px;font-weight:600;line-height:1.1}.empty p{color:var(--ink-48);letter-spacing:-.2px;margin-bottom:var(--sp-lg);font-size:21px;font-weight:400;line-height:1.3}.empty .btn{width:100%;max-width:300px}.placeholder{height:100%;color:var(--ink-48);text-align:center;background:var(--canvas);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:30px;display:flex}.placeholder .pi{font-size:44px}.health-chip{z-index:50;letter-spacing:-.12px;border-radius:var(--r-pill);background:var(--chip-translucent);color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:4px 12px;font-size:12px;font-weight:600;position:fixed;top:8px;right:8px}.health-chip.ok{color:var(--primary)}.health-chip.err{color:#b00020}.chat-head{background:var(--canvas);border-bottom:1px solid var(--hairline-08);flex:none;align-items:center;gap:10px;padding:10px 16px;display:flex}.chat-head .av{border-radius:var(--r-pill);background:var(--canvas-parchment);width:36px;height:36px;color:var(--ink);place-items:center;font-size:15px;font-weight:600;display:grid}.chat-head .ti{flex:1}.chat-head .ti .n{letter-spacing:-.374px;font-size:17px;font-weight:600}.chat-head .ti .s{color:var(--ink-48);letter-spacing:-.224px;font-size:14px}.chat-head .ic{color:var(--primary);font-size:20px}.pinned{background:var(--canvas-parchment);border-bottom:1px solid var(--hairline-08);letter-spacing:-.224px;color:var(--ink);flex:none;align-items:center;gap:8px;padding:10px 16px;font-size:14px;display:flex}.pinned b{font-weight:600}.pinned .more{color:var(--primary);margin-left:auto}.chat{-webkit-overflow-scrolling:touch;background:var(--canvas);flex:1;padding:14px 14px 6px;overflow-y:auto}.day{text-align:center;color:var(--ink-48);letter-spacing:-.12px;margin:4px 0 14px;font-size:12px}.msg{gap:8px;max-width:86%;margin-bottom:14px;display:flex}.msg .av{border-radius:var(--r-pill);background:var(--canvas-parchment);width:28px;height:28px;color:var(--ink);flex:none;align-self:flex-end;place-items:center;font-size:12px;display:grid}.msg .col{flex-direction:column;gap:4px;display:flex}.msg .nm{color:var(--ink-48);letter-spacing:-.12px;margin-left:2px;font-size:12px}.bubble{border-radius:var(--r-lg);letter-spacing:-.374px;background:var(--canvas-parchment);color:var(--ink);border-bottom-left-radius:var(--r-sm);padding:10px 14px;font-size:17px;line-height:1.35}.msg.me{flex-direction:row-reverse;margin-left:auto}.msg.me .bubble{background:var(--primary);color:var(--on-primary);border-bottom-left-radius:var(--r-lg);border-bottom-right-radius:var(--r-sm)}.time{color:var(--ink-48);align-self:flex-end;margin:0 3px;font-size:11px}.card{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-lg);width:100%;overflow:hidden}.card .ch{letter-spacing:-.224px;border-bottom:1px solid var(--hairline-08);align-items:center;gap:8px;padding:11px 14px;font-size:14px;font-weight:600;display:flex}.card .cb{padding:14px}.ch.fee,.ch.poll,.ch.rcpt{color:var(--ink);background:var(--canvas)}.feebig{font-family:var(--font-display);letter-spacing:-.3px;font-size:28px;font-weight:600}.feesub{color:var(--ink-48);letter-spacing:-.224px;margin-top:3px;font-size:14px}.feerow{border-top:1px solid var(--hairline-08);letter-spacing:-.224px;justify-content:space-between;margin-top:12px;padding-top:12px;font-size:14px;display:flex}.feerow .bal{color:var(--ink);font-weight:600}.popt{border:1px solid var(--hairline);border-radius:var(--r-md);letter-spacing:-.224px;margin-bottom:8px;padding:10px 12px;font-size:15px;position:relative;overflow:hidden}.popt .pf{width:var(--w,30%);background:#0066cc14;position:absolute;inset:0}.popt .pt{justify-content:space-between;display:flex;position:relative}.popt.win{border-color:var(--primary);font-weight:600}.pmeta{color:var(--ink-48);letter-spacing:-.224px;margin-top:4px;font-size:14px}.inputbar{background:var(--canvas);border-top:1px solid var(--hairline-08);flex:none;align-items:center;gap:10px;padding:10px 14px;display:flex}.inputbar .plus{border-radius:var(--r-pill);background:var(--primary);width:32px;height:32px;color:var(--on-primary);border:none;flex:none;place-items:center;font-size:20px;font-weight:300;transition:transform .1s;display:grid}.inputbar .plus:active{transform:scale(.95)}.inputbar .field{background:var(--canvas);border:1px solid var(--hairline-08);border-radius:var(--r-pill);color:var(--ink-48);letter-spacing:-.224px;flex:1;padding:9px 16px;font-size:15px}.inputbar .send{color:var(--primary);background:0 0;border:none;font-size:20px}.hero{margin:var(--sp-xs) 16px var(--sp-lg);background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:var(--sp-lg)}.hero .lab{color:var(--ink-48);letter-spacing:-.224px;font-size:14px}.hero .big{font-family:var(--font-display);letter-spacing:-.8px;margin-top:4px;font-size:40px;font-weight:600}.hero .row{gap:var(--sp-lg);border-top:1px solid var(--hairline-08);margin-top:16px;padding-top:16px;display:flex}.hero .k{color:var(--ink-48);letter-spacing:-.12px;font-size:12px}.hero .v{letter-spacing:-.374px;margin-top:3px;font-size:17px;font-weight:600}.seg{margin:0 16px var(--sp-sm);background:var(--canvas-parchment);border-radius:var(--r-pill);padding:3px;display:flex}.seg .s{text-align:center;border-radius:var(--r-pill);color:var(--ink-48);letter-spacing:-.224px;background:0 0;border:none;flex:1;padding:7px 0;font-size:14px;font-weight:400}.seg .s.on{background:var(--canvas);color:var(--ink);font-weight:600;box-shadow:0 1px 3px #00000014}.lcard{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-lg);margin:0 16px;overflow:hidden}.lrow{align-items:center;gap:12px;padding:13px 16px;display:flex;position:relative}.lrow+.lrow:before{content:"";background:var(--hairline-08);height:1px;position:absolute;top:0;left:52px;right:0}.lrow .ico{border-radius:var(--r-sm);background:var(--canvas-parchment);width:30px;height:30px;color:var(--ink);flex:none;place-items:center;font-size:14px;display:grid}.lrow .tx{flex:1}.lrow .tx .t{letter-spacing:-.374px;font-size:17px}.lrow .tx .s{color:var(--ink-48);letter-spacing:-.12px;align-items:center;gap:5px;margin-top:3px;font-size:12px;display:flex}.lrow .amt{letter-spacing:-.374px;font-size:17px;font-weight:600}.tag{border-radius:var(--r-pill);background:var(--canvas-parchment);color:var(--ink-48);letter-spacing:-.08px;padding:2px 7px;font-size:10px;font-weight:600}.amt.t-green{color:var(--ink)}.amt.t-red{color:var(--ink-48)}.v.t-green{color:var(--ink)}.v.t-red{color:var(--ink-48)}.note-line{color:var(--ink-48);letter-spacing:-.224px;padding:0 20px 8px;font-size:14px}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;display:grid}.gallery-grid .cell{aspect-ratio:1;background:var(--canvas-parchment);border-radius:var(--r-sm);color:var(--ink-48);place-items:center;font-size:26px;display:grid}.inset{background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-lg);margin:16px;overflow:hidden}.inset .gh{color:var(--ink-48);letter-spacing:-.224px;padding:12px 16px 6px;font-size:14px;font-weight:600}.inset .ir{letter-spacing:-.374px;align-items:center;gap:12px;padding:14px 16px;font-size:17px;display:flex;position:relative}.inset .ir+.ir:before{content:"";background:var(--hairline-08);height:1px;position:absolute;top:0;left:48px;right:0}.inset .ir .ico{text-align:center;width:26px;font-size:18px}.inset .ir .chev{color:var(--ink-48);margin-left:auto}:root{--green:#34c759;--label3:#3c3c434d;--danger:#ff3b30}.field{box-sizing:border-box;background:var(--canvas,#f2f2f7);border:1px solid var(--hairline-08,#0000001a);border-radius:var(--r-md,12px);width:100%;color:var(--ink,#000);font-size:16px;font-family:var(--font-text,inherit);padding:12px 14px}.field:focus{border-color:var(--primary,#007aff);outline:none}.em{border-radius:var(--r-sm,8px);color:#fff;flex:none;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.err-msg{color:var(--danger);margin:4px 0 0;font-size:13px}.login{box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;gap:10px;width:100%;max-width:420px;margin:0 auto;padding:0 28px;display:flex}.login .brand{text-align:center;margin-bottom:18px}.login .logo{font-size:56px}.login h1{font-family:var(--font-display,inherit);color:var(--ink,#000);margin:8px 0 4px;font-size:30px}.login .brand p{color:var(--ink-48,#888);font-size:14px}.btn.kakao{color:#191600;background:#fee500;width:100%}.btn.naver{color:#fff;background:#03c75a;width:100%;margin-top:10px}.devnote{text-align:center;color:var(--label3);margin-top:16px;font-size:12px}.gform{text-align:left;flex-direction:column;gap:8px;width:100%;display:flex}.gform .lab{color:var(--ink-48,#888);margin-top:6px;font-size:13px}.gform .btn.pri{width:100%;margin-top:14px}.picks{flex-wrap:wrap;gap:8px;display:flex}.pick{border:1px solid var(--hairline-08,#0000001a);background:var(--canvas,#fff);cursor:pointer;border-radius:10px;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.pick.on{border-color:var(--primary,#007aff);box-shadow:0 0 0 2px var(--primary,#007aff)}.pick.swatch{border:2px solid #0000}.pick.swatch.on{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--primary,#007aff)}.join-card{border:1px solid var(--hairline-08,#0000001a);border-radius:var(--r-md,12px);align-items:center;gap:12px;margin-top:4px;padding:12px;display:flex}.join-card .nm{color:var(--ink,#000);font-weight:600}.onb-panel{text-align:center;width:100%;max-width:360px}.onb-panel h3{margin-bottom:12px}.link-btn{color:var(--primary,#007aff);cursor:pointer;background:0 0;border:none;margin-top:14px;font-size:14px}.sheet-backdrop{z-index:50;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet,.modal-card{background:var(--surface-pearl,#fff);box-sizing:border-box;width:100%;max-width:480px;max-height:84vh;overflow:auto}.sheet{padding:8px 16px calc(20px + var(--safe-bottom,0px));border-radius:18px 18px 0 0}.modal-card{max-width:420px;padding:22px 20px calc(22px + var(--safe-bottom,0px));border-radius:18px;align-self:center}.modal-card h3{text-align:center;margin:0 0 14px}.sheet-grab{background:var(--label3);border-radius:3px;width:36px;height:5px;margin:8px auto 12px}.sheet-title{color:var(--ink-48,#888);margin:0 0 8px 4px;font-size:13px}.sheet-row{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;padding:12px 8px;display:flex}.sheet-row.on{background:var(--canvas,#f2f2f7)}.sheet-row .sr-name{color:var(--ink,#000);flex:1;font-size:16px;font-weight:500}.sr-meta{color:var(--ink-48,#888);font-size:13px}.sheet-row .sr-check{color:var(--primary,#007aff);font-weight:700}.sheet-actions{border-top:1px solid var(--hairline-08,#0000001a);flex-direction:column;margin-top:8px;padding-top:12px;display:flex}.sheet-actions .btn.sec{margin-top:8px}.ir.as-row{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none}.ir.danger{color:var(--danger)}.invite-box{align-items:center;gap:8px;padding:10px 16px;display:flex}.invite-link{color:var(--ink-48,#888);background:var(--canvas,#f2f2f7);word-break:break-all;border-radius:8px;flex:1;padding:8px 10px;font-size:12px}.btn.sm{padding:7px 14px;font-size:13px}.member-row{text-align:left;width:100%;font:inherit;background:0 0;border:none;align-items:center;gap:12px;padding:10px 8px;display:flex}.m-av{background:var(--primary,#007aff);color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:15px;font-weight:600;display:grid}.me-tag{color:var(--ink-48,#888);font-size:13px;font-weight:400}.role-badge{border-radius:var(--r-pill,999px);background:var(--canvas,#eee);color:var(--ink-48,#666);padding:2px 8px;font-size:11px;font-weight:600}.role-badge.owner{color:var(--primary,#007aff);background:#007aff1f}.role-badge.deputy{color:var(--green);background:#34c75924}.action-sheet{background:var(--surface-pearl,#fff);width:100%;max-width:480px;padding:8px 8px calc(12px + var(--safe-bottom,0px));border-radius:18px 18px 0 0;align-self:flex-end}.action-sheet .as-title{text-align:center;color:var(--ink-48,#888);padding:12px 0;font-size:13px}.action-sheet button{border:none;border-top:1px solid var(--hairline-08,#00000014);width:100%;color:var(--primary,#007aff);cursor:pointer;background:0 0;padding:15px;font-size:17px;display:block}.action-sheet button.danger-text{color:var(--danger)}.action-sheet button.as-cancel{color:var(--ink,#000);border-top:none;margin-top:8px;font-weight:600}.chat-empty{text-align:center;color:var(--ink-48,#888);padding:40px 0;font-size:14px}.attach-grid{grid-template-columns:repeat(3,1fr);gap:8px;padding:8px 4px 4px;display:grid}.attach-item{background:var(--canvas,#f2f2f7);border-radius:var(--r-md,14px);cursor:pointer;border:none;flex-direction:column;align-items:center;gap:6px;padding:16px 6px;display:flex;position:relative}.attach-item:disabled{opacity:.45;cursor:default}.attach-item .ai-ic{font-size:26px}.attach-item .ai-lb{color:var(--ink,#000);font-size:13px}.attach-item .ai-soon{color:var(--ink-48,#888);font-size:9px;position:absolute;top:6px;right:6px}.fee-preview{letter-spacing:-.5px;padding:2px 0;font-size:26px;font-weight:700}.card .ch.exp{color:var(--danger)}button.popt{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;font-family:inherit;font-size:15px}button.popt:disabled{cursor:default}.opt-row{align-items:center;gap:8px;display:flex}.opt-row .field{flex:1}.opt-del{color:var(--ink-48,#888);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px}.opt-add{border:1px dashed var(--hairline-08,#00000026);border-radius:var(--r-md,12px);color:var(--primary,#007aff);cursor:pointer;background:0 0;padding:10px;font-size:14px}.card .ch.sched{color:var(--primary,#007aff)}.sched-confirmed{color:var(--green);border-radius:var(--r-md,12px);background:#34c75924;margin-bottom:8px;padding:8px 10px;font-size:14px;font-weight:600}.sched-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.sched-row.done{opacity:.6}.sched-day{text-align:left;background:var(--canvas,#f2f2f7);border:1px solid var(--hairline-08,#00000014);border-radius:var(--r-md,10px);font:inherit;color:var(--ink,#000);cursor:pointer;flex:1;padding:9px 12px;font-size:14px}.sched-day.on{border-color:var(--primary,#007aff);color:var(--primary,#007aff);background:#007aff1f;font-weight:600}.sched-day:disabled{cursor:default}.sched-count{color:var(--ink-48,#888);white-space:nowrap;font-size:13px}.sched-count.rec{color:var(--green);font-weight:600}.sched-confirm-btn{border:1px solid var(--primary,#007aff);color:var(--primary,#007aff);border-radius:var(--r-pill,999px);cursor:pointer;white-space:nowrap;background:0 0;padding:5px 10px;font-size:12px}.link-btn.inline{font-size:inherit;margin:0}.receipt-pick{border:1px dashed var(--hairline-08,#0000002e);border-radius:var(--r-lg,16px);color:var(--primary,#007aff);cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:28px;font-size:14px;display:flex}.receipt-pick .rp-ic{font-size:34px}.receipt-prev{border-radius:var(--r-md,12px);max-height:220px;margin-bottom:8px;position:relative;overflow:hidden}.receipt-prev img{object-fit:contain;background:#000;width:100%;max-height:220px;display:block}.rp-reading{color:#fff;background:#0000008c;place-items:center;font-size:15px;font-weight:600;display:grid;position:absolute;inset:0}
