:root{--bg: #f2f5f1;--card: #ffffff;--ink: #14201b;--mute: #5a6b63;--soft: #4b5b54;--line: #eef2ee;--border: #dce4dd;--input-bg: #f8faf7;--green: #0f6b4f;--green-soft: #ddf0e7;--green-ink: #0b4d39;--seg: #e1e8e2;--amber: #fce9c8;--amber-ink: #7a4a00;--red: #b3261e}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0}body{font-family:Noto Sans KR,system-ui,-apple-system,sans-serif;color:var(--ink);background:#e6ebe5;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app{max-width:430px;min-height:100dvh;margin:0 auto;background:var(--bg);position:relative;overflow-x:hidden}.page{padding:26px 22px 150px}.tabular{font-variant-numeric:tabular-nums}.btn{min-height:52px;padding:0 18px;border:0;border-radius:14px;font-size:16px;font-weight:700;background:var(--card);color:var(--ink)}.btn-primary{background:var(--green);color:#fff}.btn-primary:disabled{background:#a9c7bc}.btn-seg{background:var(--seg)}.btn-danger{background:#fff;color:var(--red);border:1.5px solid var(--red)}.btn-text{background:transparent;color:var(--green);min-height:44px;font-size:14px}.btn-block{width:100%}.btn-sm{min-height:48px;font-size:15px}.icon-btn{width:44px;height:44px;flex:none;padding:0;border:0;border-radius:14px;background:var(--card);display:inline-flex;align-items:center;justify-content:center}.bottom-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(100%,430px);padding:16px 22px calc(28px + env(safe-area-inset-bottom));background:linear-gradient(rgba(242,245,241,0),var(--bg) 30%);display:flex;flex-direction:column;gap:10px;z-index:20}.bottom-bar .row{display:flex;gap:10px}.bottom-bar .row>.btn{flex:1}.bottom-note{text-align:center;font-size:12px;color:var(--mute)}.chiprow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.chip{font-size:13px;font-weight:500;padding:7px 12px;border-radius:999px;background:var(--green-soft);color:var(--green-ink);border:0}.chip.off{background:var(--seg);color:var(--soft)}.chip-x{display:inline-flex;align-items:center;gap:4px;font-size:14px;padding:8px 12px}.chip-add{width:44px;height:44px;margin:-4px 0;padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center}.chip-add>span{width:32px;height:32px;border:1.5px dashed var(--green);border-radius:999px;display:flex;align-items:center;justify-content:center}.pick{min-height:44px;padding:0 16px;border:0;border-radius:999px;font-size:15px;font-weight:500;background:var(--card);color:var(--soft)}.pick.on{background:var(--green);color:#fff;font-weight:700}.pick.sq{border-radius:12px;min-height:46px;padding:0;flex:1}.pick.sq.soft.on{background:var(--green-soft);color:var(--green-ink)}.pick.sq.dark.on{background:var(--ink);color:#fff;flex:1.2}.pick.sq.dark{flex:1.2}.seg{display:flex;background:var(--seg);border-radius:14px;padding:4px}.seg>button{flex:1;border:0;background:transparent;padding:11px 0;border-radius:11px;font-size:14px;font-weight:500;color:var(--mute)}.seg>button.on{background:var(--card);color:var(--ink);font-weight:700}.card{background:var(--card);border-radius:20px;padding:4px 18px}.card-pad{background:var(--card);border-radius:22px;padding:22px 20px}.lbl{font-size:12px;font-weight:700;color:var(--mute)}.field{display:flex;flex-direction:column;gap:8px}.input{width:100%;min-width:0;padding:14px 16px;border:1.5px solid var(--border);border-radius:14px;background:var(--input-bg);font-size:16px;font-weight:500;outline:none}.input:focus{border-color:var(--green)}.input.strong{border:2px solid var(--green);background:#fff;font-weight:700;font-size:18px}.input.invalid{border-color:var(--red)}.err{font-size:12.5px;color:var(--red);font-weight:500}.hint{font-size:12.5px;line-height:1.6;color:var(--mute)}.q{margin:0;font-size:28px;line-height:1.3;font-weight:900;letter-spacing:-.8px}.stack{display:flex;flex-direction:column}.gap8{gap:8px}.gap10{gap:10px}.gap16{gap:16px}.gap14{gap:14px}.gap20{gap:20px}.gap22{gap:22px}.badge{font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;background:var(--amber);color:var(--amber-ink)}.badge.dark{background:var(--ink);color:#fff}.notice{background:var(--green-soft);color:var(--green-ink);border-radius:14px;padding:14px 16px;font-size:12.5px;line-height:1.6}.notice b{display:block;font-size:13px;margin-bottom:4px}.notice.amber{background:var(--amber);color:var(--amber-ink);display:flex;align-items:center;gap:10px;font-weight:500;line-height:1.5}.room-head{display:flex;align-items:center;justify-content:space-between}.room-code{font-size:12px;font-weight:700;color:var(--mute)}.room-title{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:900;letter-spacing:-.6px}.total-card{background:var(--green);color:#fff;border-radius:20px;padding:18px 20px;display:flex;justify-content:space-between;align-items:flex-end}.total-card .sm{font-size:12px;font-weight:500;opacity:.8}.total-card .big{font-size:30px;font-weight:900;letter-spacing:-.8px}.exp{width:100%;background:#fff;border:0;border-radius:16px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;text-align:left}.exp .t{font-size:15px;font-weight:700}.exp .s{font-size:12px;color:var(--mute);margin-top:3px}.exp .a{font-size:16px;font-weight:700;flex:none;padding-left:12px}.section-title{font-size:15px;font-weight:700}.empty{text-align:center;padding:36px 16px;color:var(--mute);font-size:14px;line-height:1.7;background:#fff;border-radius:16px}.progress{flex:1;display:flex;gap:6px}.progress>i{flex:1;height:5px;border-radius:3px;background:var(--border)}.progress>i.on{background:var(--green)}.stepno{font-size:12px;font-weight:700;color:var(--mute);flex:none}.wiz-head{display:flex;align-items:center;gap:14px;padding:26px 22px 0}.ctx-pill{align-self:flex-start;font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--green-soft);color:var(--green-ink)}.amount-input{text-align:right;font-size:34px;font-weight:900;padding:14px 16px;font-variant-numeric:tabular-nums}.kor{text-align:right;font-size:15px;font-weight:700;color:var(--green);padding-right:4px;min-height:22px}.quick{display:flex;gap:8px}.quick>button{flex:1;min-height:46px;padding:0;border:0;border-radius:12px;background:#fff;font-size:14px;font-weight:700}.quick>button.reset{background:transparent;border:1.5px solid #cbd6cd;color:var(--mute);font-weight:500}.lbl-row{display:flex;justify-content:space-between;align-items:baseline}.lbl-row .n{font-size:12px;font-weight:700;color:var(--green)}.sum-card{background:#fff;border-radius:18px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.sum-card .l{font-size:12px;font-weight:700;color:var(--mute)}.sum-card .l small{display:block;font-weight:400;margin-top:2px}.sum-card .r{font-size:20px;font-weight:900;color:var(--green);flex:none}.prow{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.prow:last-child{border-bottom:0}.prow .nm{width:46px;font-size:15px;font-weight:700;flex:none}.tag{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--seg);color:var(--soft);flex:none}.tag.fix{background:var(--green);color:#fff}.prow .amt{margin-left:auto;font-size:15px;font-weight:700;text-align:right}.cinput{flex:1;min-width:0;padding:10px 12px;border-radius:10px;text-align:right;font-size:16px;font-weight:500;background:var(--input-bg);border:1.5px dashed #cbd6cd;outline:none;font-variant-numeric:tabular-nums}.cinput.fixed{border:2px solid var(--green);background:#fff;font-weight:900}.stepper{margin-left:auto;display:flex;align-items:center;gap:6px}.stepper button{width:36px;height:36px;border:0;border-radius:10px;background:var(--seg);font-size:18px;font-weight:700;line-height:1}.stepper button:disabled{opacity:.4}.stepper output{width:36px;text-align:center;font-size:15px;font-weight:700}.crow{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);min-height:44px;width:100%;background:transparent;border-left:0;border-right:0;border-top:0;text-align:left}.crow:last-child{border-bottom:0}.crow .k{font-size:13px;font-weight:700;color:var(--mute)}.crow .v{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;text-align:right}.crow .v em{font-style:normal;font-size:12px;font-weight:700;color:var(--green)}.paybadge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--green-soft);color:var(--green-ink);margin-left:6px}.srow{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:700}.srow:last-child{border-bottom:0}.trow{background:#fff;border-radius:18px;padding:15px 16px;display:flex;align-items:center;gap:12px}.trow .who{flex:1;display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700}.trow .amt{font-size:18px;font-weight:900;color:var(--green)}.paidrow{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:700}.paidrow:last-child{border-bottom:0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14201b80;z-index:50}.sheet{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(100%,430px);background:#fff;border-radius:26px 26px 0 0;padding:12px 22px calc(30px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:18px;z-index:51}.sheet .grab{align-self:center;width:40px;height:5px;border-radius:3px;background:var(--border)}.sheet h2{margin:0;font-size:20px;font-weight:900;letter-spacing:-.4px}.sheet .row{display:flex;gap:10px}.toast{position:fixed;left:50%;bottom:120px;transform:translate(-50%);max-width:min(90vw,390px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;font-size:14px;font-weight:500;z-index:100;text-align:center}.fade-enter-active,.fade-leave-active{transition:opacity .18s}.fade-enter-from,.fade-leave-to{opacity:0}.center-msg{min-height:70dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:0 32px}.center-msg p{margin:0;font-size:15px;line-height:1.6;color:var(--soft)}.loading{min-height:60dvh;display:flex;align-items:center;justify-content:center;color:var(--mute);font-size:14px}.hero{font-size:34px;line-height:1.2;font-weight:900;letter-spacing:-1.2px}.hero em{font-style:normal;color:var(--green)}.logo{width:36px;height:36px;border-radius:11px;background:var(--green);display:flex;align-items:center;justify-content:center}.recent{display:flex;align-items:stretch;background:#fff;border-radius:16px}.recent-open{flex:1;min-width:0;border:0;background:transparent;padding:14px 16px;display:flex;flex-direction:column;gap:3px;text-align:left}.recent-open .t{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.recent-open .s{font-size:12px;color:var(--mute);letter-spacing:.5px}.recent-x{width:48px;flex:none;border:0;background:transparent;color:var(--mute);font-size:14px}
