.pvs{--pink-600: #e6447a;--pink-500: #ff5c8a;--pink-300: #ffa3be;--pink-100: #ffe1ea;--pink-50: #fff3f6;--cream: #fff8f1;--brown-900: #4a2a2e;--brown-500: #8c6a6e;--line: #f1c9d4;--white: #fff;--blue: #2f6fd6;--blue-line: #c5d8f5;--blue-100: #dcebff;--blue-50: #eef4ff;--ok: #2f7d4a;--ok-bg: #e3f6e9;--ok-line: #8cd9a3;min-height:100vh;font-family:Pretendard,-apple-system,sans-serif;letter-spacing:-.03em;line-height:normal;color:var(--brown-900);word-break:keep-all;background:#fbe6ec;background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);background-size:24px 24px}.pvs p{line-height:1.5}.pvs-col{max-width:430px;min-height:100vh;margin:0 auto;padding:24px 18px 48px;background:var(--cream);box-shadow:0 0 0 1px var(--line),0 0 40px #4a2a2e1f}.pvs-center{display:grid;place-items:center;text-align:center;color:var(--brown-500);font-size:14px}.pvs-head{display:flex;align-items:center;gap:12px;margin:8px 0 20px}.pvs-head img{height:32px;width:auto}.pvs-head small{font-size:12px;font-weight:600;color:var(--brown-500)}.pvs-head h1{font-size:22px;font-weight:800;margin:2px 0 0}.pvs-tabs{display:flex;gap:6px;margin-bottom:16px}.pvs-tabs button{flex:1;height:44px;background:var(--white);border:2px solid var(--line);color:var(--brown-500);font:inherit;font-size:14px;font-weight:700;letter-spacing:inherit;cursor:pointer}.pvs-tabs button b{margin-left:4px}.pvs-tabs button.on{border-color:var(--pink-500);color:var(--pink-600);background:var(--pink-50)}.pvs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.pvs-item{background:var(--white);border:2px solid var(--line)}.pvs-item.open{border-color:var(--pink-300)}.pvs-sum{width:100%;display:flex;align-items:center;gap:10px;padding:14px;text-align:left;background:none;border:0;font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer}.pvs-when{flex:1;min-width:0;display:flex;align-items:center;gap:10px}.pvs-when .pi{width:22px;height:22px;flex:none;fill:var(--pink-500);shape-rendering:crispEdges}.pvs-when strong{display:block;font-size:18px;font-weight:800}.pvs-when small{display:block;font-size:12px;font-weight:600;color:var(--brown-500);margin-top:4px}.pvs-chev{width:10px;height:10px;flex:none;border-right:2px solid var(--brown-500);border-bottom:2px solid var(--brown-500);transform:rotate(45deg) translate(-2px,-2px);transition:transform .15s}.pvs-item.open .pvs-chev{transform:rotate(-135deg) translate(-2px,-2px)}.pvs-badge{flex:none;height:28px;padding:0 10px;display:inline-flex;align-items:center;font-size:12px;font-weight:800;border:2px solid}.pvs-badge.PAYMENT_PENDING{color:var(--pink-600);background:var(--pink-50);border-color:var(--pink-300)}.pvs-badge.PAID{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-line)}.pvs-badge.SETTLED{color:var(--brown-500);background:#f6efef;border-color:#e3d6d8}.pvs-panel{padding:4px 14px 14px;border-top:2px dashed var(--line)}.pvs-group{display:flex;align-items:center;gap:6px;margin:14px 0 8px;font-size:14px;font-weight:800}.pvs-group:before{content:"";width:4px;height:14px;background:var(--pink-500)}.pvs-group.m:before{background:var(--blue)}.pvs-group i{font-style:normal;font-size:12px;font-weight:800;padding:0 8px;border-radius:999px;background:var(--pink-100);color:var(--pink-600)}.pvs-group.m i{background:var(--blue-100);color:var(--blue)}.pvs-mems{display:flex;flex-direction:column;gap:6px}.pvs-mem{display:flex;align-items:center;padding:6px 14px 6px 16px;background:var(--white);border:2px solid var(--line)}.pvs-mem.m{border-color:var(--blue-line)}.pvs-ch{flex:none;width:40px;height:56px;margin-right:14px}.pvs-ch .px{width:100%;height:100%;shape-rendering:crispEdges;display:block}.pvs-nick{flex:1;min-width:0;font-size:18px;font-weight:800;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px}.pvs-mbti{flex:none;width:72px;height:32px;display:grid;place-items:center;font-size:14px;font-weight:700;letter-spacing:0;color:var(--pink-600);background:var(--pink-50);border:1px solid var(--pink-300)}.pvs-mem.m .pvs-mbti{color:var(--blue);background:var(--blue-50);border-color:#cfe0fa}.pvs-empty{text-align:center;color:var(--brown-500);font-size:14px;padding:32px 0}:root{--ucld-rose: #e0356b;--ucld-rose-deep: #b82a58;--ucld-rose-soft: #f591ad;--ucld-pink: #ff4d85;--ucld-pink-soft: #ff9ec4;--ucld-blush: #ffedf2;--ucld-blush-deep: #ffdce8;--ucld-cream: #fff7f9;--ucld-white: #ffffff;--ucld-plum: #2b1b24;--ucld-plum-mute: #7a6570;--ucld-primary: var(--ucld-rose);--ucld-primaryDeep: var(--ucld-rose-deep);--ucld-primarySoft: var(--ucld-rose-soft);--ucld-accent: var(--ucld-pink);--ucld-accentSoft: var(--ucld-pink-soft);--ucld-bg: var(--ucld-blush);--ucld-bgDeep: var(--ucld-blush-deep);--ucld-surface: var(--ucld-cream);--ucld-surfacePlain: var(--ucld-white);--ucld-text: var(--ucld-plum);--ucld-textMute: var(--ucld-plum-mute);--ucld-logo-u: var(--ucld-rose);--ucld-logo-heart: var(--ucld-pink);--ucld-logo-bg: var(--ucld-blush)}:root{--nav-w: 212px;--card-line: #ece6e9;--band: #f6f2f4;--divider: #f3edf0;--muted: var(--ucld-plum-mute);--faint: #b9aab1;--alert: #c0392b;--alert-bg: #fbe6e3;--success: #1a7a3a;--success-bg: #e4f1e8;--neutral: #6e6a70;--neutral-bg: #f1eff1;--radius-card: 14px;--radius-ctl: 10px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif;font-size:14px;line-height:normal;letter-spacing:-.03em;color:var(--ucld-text);background:var(--ucld-cream);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body,h1,h2,h3,p{margin:0}p,.multiline{line-height:1.5}a{color:inherit;text-decoration:none}input,select,textarea,button{font:inherit;letter-spacing:inherit;color:inherit}input::placeholder,textarea::placeholder{color:var(--faint);opacity:1}.shell{display:flex;min-height:100vh}.sidebar{width:var(--nav-w);flex-shrink:0;position:sticky;top:0;height:100vh;background:var(--ucld-plum);color:#efe4e9;display:flex;flex-direction:column;gap:20px;padding:32px 16px 24px}.sidebar .brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;color:#fff}.sidebar .brand img{height:24px;width:auto}.account{background:#ffffff0f;border-radius:var(--radius-ctl);padding:10px 12px;display:flex;flex-direction:column;gap:2px}.account small{font-size:12px;color:#efe4e98c;font-weight:600}.account strong{font-size:14px;color:#fff}.sidebar nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius-ctl);color:#efe4e9c7;font-size:14px;font-weight:500}.nav-item:hover{background:#ffffff0d}.nav-item.active{background:#f591ad24;color:var(--ucld-rose-soft);font-weight:700}.sidebar .logout{margin-top:auto;display:flex;align-items:center;gap:8px;background:none;border:none;padding:8px 10px;color:#efe4e98c;font-size:12px;cursor:pointer;border-radius:var(--radius-ctl)}.sidebar .logout:hover{color:#fff}.main{flex:1;min-width:0;padding:32px 40px 64px;max-width:1120px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;min-height:40px}.page-header h1{font-size:24px;font-weight:800}.back{display:inline-flex;font-size:14px;color:var(--muted);margin-bottom:8px}.back:hover{color:var(--ucld-text)}.band{background:var(--band);border-radius:var(--radius-card);padding:12px 16px;font-size:14px;color:var(--muted);margin-bottom:16px}.card{background:#fff;border:1px solid var(--card-line);border-radius:var(--radius-card);padding:20px;margin-bottom:16px}.card-title{font-size:16px;font-weight:800}.card-desc{font-size:12px;color:var(--muted);margin-top:4px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.section-title{font-size:16px;font-weight:800;margin:32px 0 12px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 14px;align-items:end;margin-top:16px}.form-grid .wide{grid-column:1 / -1}.form-actions{grid-column:1 / -1;display:flex;gap:8px;justify-content:flex-end}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:12px;font-weight:700;color:var(--ucld-text)}.field>span small{font-weight:500;color:var(--faint);margin-left:4px}.input,.field input,.field select,.field textarea,.filters input,.filters select{height:40px;padding:0 12px;border:1px solid var(--card-line);border-radius:var(--radius-ctl);background:#fff;font-size:14px;width:100%}.field textarea{height:auto;padding:10px 12px;line-height:1.5;resize:vertical}.field input:disabled,.field select:disabled{background:var(--band);color:var(--faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ucld-rose-soft);box-shadow:0 0 0 3px #f591ad40}button:focus-visible{outline:2px solid var(--ucld-rose-soft);outline-offset:2px}.btn{height:40px;padding:0 16px;border-radius:var(--radius-ctl);border:1px solid var(--card-line);background:#fff;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover:not(:disabled){background:var(--band)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.sm{height:32px;padding:0 12px;font-size:12px}.btn.primary{background:var(--ucld-rose-deep);border-color:var(--ucld-rose-deep);color:#fff}.btn.primary:hover:not(:disabled){background:#9d2249;border-color:#9d2249}.btn.danger-outline{color:var(--alert);border-color:#f2c9c3}.btn.danger-outline:hover:not(:disabled){background:var(--alert-bg)}.btn.danger{background:var(--alert);border-color:var(--alert);color:#fff}.btn.text{border:none;background:none;height:auto;padding:0;color:var(--muted);font-weight:600}.btn.text:hover:not(:disabled){background:none;color:var(--ucld-text)}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filters select{width:auto;min-width:180px}.pill{height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--card-line);background:#fff;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.pill b{font-weight:700;color:var(--muted)}.pill.on{background:var(--ucld-rose-deep);border-color:var(--ucld-rose-deep);color:#fff}.pill.on b{color:#fff}.table-card{background:#fff;border:1px solid var(--card-line);border-radius:var(--radius-card);overflow:hidden;margin-bottom:16px}.table-card .table-title{padding:16px 20px;font-size:16px;font-weight:800;border-bottom:1px solid var(--divider)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);background:#fcfafb;padding:12px 20px;border-bottom:1px solid var(--divider);white-space:nowrap}td{padding:14px 20px;border-bottom:1px solid var(--divider);font-size:14px;white-space:nowrap;vertical-align:middle}tr:last-child td{border-bottom:none}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:#fdf8fa}tr.past td{color:var(--faint)}td.num,th.num{text-align:right}td.strong{font-weight:700}td .sub{display:block;font-size:12px;color:var(--faint);margin-top:2px}.empty{padding:40px 20px;text-align:center;color:var(--muted);font-size:14px}.badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700}.badge.PAYMENT_PENDING,.toggle.PENDING{color:var(--alert);background:var(--alert-bg)}.badge.PAID,.toggle.PAID{color:var(--success);background:var(--success-bg)}.badge.SETTLED{color:var(--neutral);background:var(--neutral-bg)}.badge.lg{height:32px;padding:0 14px;font-size:14px}.toggle{height:32px;min-width:96px;padding:0 12px;border-radius:999px;border:1px solid transparent;font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px}.toggle.PENDING{border-color:#f2c9c3}.toggle.PENDING:hover{background:#f8d8d3}.toggle.PAID:hover{background:#d3e9da}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.info{background:var(--band);border-radius:var(--radius-ctl);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.info small{font-size:12px;color:var(--muted)}.info strong{font-size:16px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.link-text{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--band);padding:6px 10px;border-radius:8px;letter-spacing:0}.chip{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:var(--ucld-blush);font-size:12px;font-weight:700;margin:0 6px 6px 0}.error-text{color:var(--alert);font-size:12px;font-weight:600;margin-top:8px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:20;max-width:calc(100% - 32px);padding:12px 18px;border-radius:12px;background:var(--ucld-plum);color:#fff;font-size:14px;font-weight:600;display:flex;gap:12px;align-items:center;box-shadow:0 8px 24px #2b1b2440}.toast button{background:none;border:none;color:#fff;cursor:pointer;padding:0 4px;font-size:14px}.login-page{min-height:100vh;display:grid;place-items:center;padding:16px;background:var(--ucld-cream)}.login-card{width:100%;max-width:360px;background:#fff;border:1px solid var(--card-line);border-radius:16px;padding:32px 24px 24px;display:flex;flex-direction:column;gap:14px}.login-card .logo{height:40px;width:auto;align-self:center}.login-card h1{font-size:20px;font-weight:800;text-align:center;margin-bottom:8px}.login-card .btn{height:44px;margin-top:4px}.pv{max-width:560px;margin:0 auto;padding:24px 16px 48px}.pv-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.pv-header img{height:32px;width:auto}.pv-header small{font-size:12px;color:var(--muted)}.pv-header h1{font-size:20px;font-weight:800;margin-top:2px}.seg{display:flex;gap:4px;padding:4px;background:var(--band);border-radius:999px;margin-bottom:16px}.seg button{flex:1;height:36px;border:none;background:none;border-radius:999px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer}.seg button.on{background:#fff;color:var(--ucld-text);font-weight:700;box-shadow:0 1px 2px #2b1b2414}.pv-card{background:#fff;border:1px solid var(--card-line);border-radius:var(--radius-card);padding:16px;margin-bottom:12px}.pv-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.pv-card-head strong{font-size:18px;font-weight:800}.pv-card-head small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.members{list-style:none;padding:0;margin:12px 0 0;border-top:1px solid var(--divider)}.members li{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--divider);font-size:14px;font-weight:600}.members li:last-child{border-bottom:none}.members li span:last-child{font-size:12px;font-weight:500;color:var(--muted)}.center{min-height:100vh;display:grid;place-items:center;padding:16px;text-align:center;color:var(--muted)}@media(max-width:760px){.shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;flex-wrap:wrap;padding:12px 16px;gap:12px}.account{display:none}.sidebar nav{flex-direction:row;order:3;width:100%;overflow-x:auto}.sidebar .logout{margin:0 0 0 auto}.main{padding:20px 16px 48px}}.round-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.round-bar label{font-size:14px;font-weight:800}.round-bar select{height:44px;min-width:280px;padding:0 12px;border:1px solid var(--card-line);border-radius:var(--radius-ctl);background:#fff;font-size:16px;font-weight:700}.current-chip{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:var(--ucld-blush);color:var(--ucld-rose-deep);font-size:12px;font-weight:800}.current-chip.sm{height:20px;padding:0 8px;margin-left:8px;vertical-align:1px}.current-round{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:#fff;border:1px solid var(--card-line);border-left:4px solid var(--ucld-rose-deep);border-radius:var(--radius-card);padding:20px;margin-bottom:16px}.current-round small{display:block;font-size:12px;font-weight:700;color:var(--ucld-rose-deep)}.current-round strong{display:block;font-size:24px;font-weight:800;margin:4px 0}.current-round span{font-size:14px;color:var(--muted)}.badge.step{border:1px solid transparent;cursor:pointer;font:inherit;font-size:12px;font-weight:700;letter-spacing:inherit;min-width:72px;justify-content:center}.badge.step.PAYMENT_PENDING{border-color:#f2c9c3}.badge.step.PAID{border-color:#b9dcc4}.badge.step.SETTLED{border-color:#e2dfe2}.badge.step.PAYMENT_PENDING:hover:not(:disabled){background:#f8d8d3}.badge.step.PAID:hover:not(:disabled){background:#d3e9da}.badge.step.SETTLED:hover:not(:disabled){background:#e7e4e7}.badge.step:disabled{opacity:.5;cursor:not-allowed}.table-title.row{display:flex;justify-content:space-between;align-items:center}.money-input{position:relative;display:flex;align-items:center}.money-input input{height:40px;width:100%;padding:0 32px 0 12px;border:1px solid var(--card-line);border-radius:var(--radius-ctl);background:#fff;font-size:14px;text-align:right;font-variant-numeric:tabular-nums}.money-input span{position:absolute;right:12px;font-size:14px;color:var(--muted);pointer-events:none}td .money-input{min-width:140px}.missing{color:var(--alert);font-size:12px;font-weight:700}td.num{font-variant-numeric:tabular-nums}td.due{color:var(--alert);font-weight:700}.band.warn{background:var(--alert-bg);color:var(--alert);font-weight:600}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--card-line);border-radius:var(--radius-card);padding:16px 18px;display:flex;flex-direction:column;gap:6px}.stat small{font-size:12px;font-weight:700;color:var(--muted)}.stat strong{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}.stat span{font-size:12px;color:var(--muted)}.stat.highlight{border-color:#f2c9c3;background:snow}.stat.highlight strong{color:var(--alert)}.band.ok{background:var(--success-bg);color:var(--success);font-weight:600}.count{color:var(--ucld-rose-deep);margin-left:4px}.filters{align-items:center}.filters select,.filters .pill{height:40px;box-sizing:border-box}.filters select{min-width:160px;width:auto;padding:0 36px 0 12px;line-height:normal}.round-bar select{height:40px}.dev-ribbon{position:fixed;top:0;left:0;right:0;z-index:50;height:24px;display:grid;place-items:center;background:#f5a623;color:#2b1b24;font-size:12px;font-weight:800}.shell.is-dev{padding-top:24px}
