*{box-sizing:border-box;margin:0;padding:0}:root{--paper: #f8f3e7;--paper-2: #f1ead8;--surface: #fffdf7;--surface-sunk: #faf5e8;--ink: #1a1410;--ink-2: #3d342a;--ink-3: #6b5d4d;--ink-4: #a89a82;--rule: #e8dfc9;--rule-strong: #cdbf9e;--teal: #0f5257;--teal-deep: #07383c;--teal-tint: #d9e8e6;--amber: #b05610;--amber-tint: #f7e2c2;--forest: #3b6b30;--forest-tint: #dae7cf;--rust: #963023;--rust-tint: #f0d4cd;--sun-red: #b4281a;--sat-blue: #1e4785;--primary: var(--teal);--primary-dark: var(--teal-deep);--accent: var(--amber);--bg: var(--paper);--border: var(--rule);--text: var(--ink);--text-secondary: var(--ink-3);--r-xs: 2px;--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--r-pill: 999px;--radius: var(--r-md);--shadow: 0 0 0 1px rgba(26, 20, 16, .04);--shadow-lift: 0 0 0 1px rgba(26, 20, 16, .06), 0 4px 14px rgba(26, 20, 16, .05)}html{background:var(--paper)}body{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,sans-serif;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;letter-spacing:-.01em;font-feature-settings:"ss01","ss02","ss03","tnum"}button,input,textarea{font-family:inherit;color:inherit}.container{max-width:640px;margin:0 auto;padding:0 16px 100px}.navbar{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--rule);padding:0 16px}.navbar-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px;padding:8px 0}.navbar-brand{font-weight:800;font-size:17px;color:var(--ink);text-decoration:none;letter-spacing:-.025em;flex-shrink:0}.navbar-group-name{font-size:12px;color:var(--text-secondary);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-tabs{display:flex;gap:2px;align-items:flex-end;height:40px;border-top:1px solid var(--rule);margin:0 -16px;padding:0 16px}.navbar-tab{padding:0 16px;height:100%;font-size:14px;font-weight:500;text-decoration:none;color:var(--ink-3);border-bottom:2px solid transparent;display:inline-flex;align-items:center;transition:color .12s}.navbar-tab:hover{color:var(--ink)}.navbar-tab.active{color:var(--teal);font-weight:700;border-bottom-color:var(--teal)}.navbar-auth{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;min-width:0}.navbar-auth .btn{padding:6px 10px;font-size:12px}.navbar-auth .btn-sm{padding:5px 9px;font-size:12px}@media(max-width:480px){.navbar{padding:0 10px}.navbar-tabs{margin:0 -10px;padding:0 10px}.navbar-brand{font-size:14px}.navbar-tab{padding:0 12px;font-size:13px}.navbar-auth{gap:4px}.navbar-auth .btn{padding:5px 8px;font-size:11px}.navbar-auth .btn-sm,.btn-logout{padding:4px 7px;font-size:11px}}.btn-login{background:#fee500;color:#191600;border:none;padding:7px 14px;border-radius:var(--r-sm);font-size:13px;font-weight:700;cursor:pointer}.btn-logout{background:none;border:1px solid var(--rule-strong);padding:6px 10px;border-radius:var(--r-sm);font-size:12px;cursor:pointer;color:var(--ink-3)}.btn-logout:hover{color:var(--ink);border-color:var(--ink-3)}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);margin-bottom:10px;overflow:hidden;transition:box-shadow .15s,transform .15s}.card:hover{box-shadow:var(--shadow-lift)}.card-body{padding:16px 18px}.badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--r-xs);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.badge-open{background:var(--forest-tint);color:var(--forest)}.badge-closed{background:var(--rust-tint);color:var(--rust)}.badge-waiting{background:var(--amber-tint);color:var(--amber)}.pay-unpaid{color:var(--rust);font-size:12px;font-weight:600}.pay-transferred{color:var(--teal);font-size:12px;font-weight:600}.pay-paid{color:var(--forest);font-size:12px;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:var(--r-sm);font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .12s,border-color .12s,transform .08s;letter-spacing:-.01em}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--teal);color:#f8f3e7}.btn-primary:hover:not(:disabled){background:var(--teal-deep)}.btn-danger{background:var(--rust);color:#fff}.btn-outline{background:var(--surface);border:1px solid var(--rule-strong);color:var(--ink);padding:8px 14px;font-size:13px}.btn-outline:hover:not(:disabled){background:var(--paper-2);border-color:var(--ink-3)}.btn-block{width:100%;padding:13px 18px;font-size:15px}.btn-sm{padding:5px 10px;font-size:12px;white-space:nowrap;border-radius:var(--r-xs)}.form-group{margin-bottom:18px}.form-label{display:block;font-size:11px;font-weight:700;color:var(--ink-3);margin-bottom:6px;letter-spacing:.08em;text-transform:uppercase}.form-input{width:100%;padding:10px 12px;border:1px solid var(--rule-strong);background:var(--surface);border-radius:var(--r-sm);font-size:15px;outline:none;transition:border-color .12s,box-shadow .12s;color:var(--ink)}.form-input::placeholder{color:var(--ink-4)}.form-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f525724}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@keyframes calSlideInLeft{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes calSlideInRight{0%{transform:translate(-40px);opacity:0}to{transform:translate(0);opacity:1}}.cal-slide-left{animation:calSlideInLeft .22s cubic-bezier(.25,.46,.45,.94) both}.cal-slide-right{animation:calSlideInRight .22s cubic-bezier(.25,.46,.45,.94) both}.cal-body{overflow:hidden}.calendar{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);overflow:hidden}.cal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--rule);background:var(--paper)}.cal-header h2{font-size:15px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.cal-nav{background:var(--surface);border:1px solid var(--rule-strong);font-size:14px;cursor:pointer;padding:4px 11px;border-radius:var(--r-xs);color:var(--ink-2);transition:background .12s,color .12s}.cal-nav:hover{background:var(--paper-2);color:var(--ink)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--paper)}.cal-weekday{text-align:center;padding:5px 0;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4)}.cal-week{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--rule);background-image:linear-gradient(var(--rule),var(--rule)),linear-gradient(var(--rule),var(--rule)),linear-gradient(var(--rule),var(--rule)),linear-gradient(var(--rule),var(--rule)),linear-gradient(var(--rule),var(--rule)),linear-gradient(var(--rule),var(--rule));background-size:1px 100%;background-position:calc(100% * 1 / 7) 0,calc(100% * 2 / 7) 0,calc(100% * 3 / 7) 0,calc(100% * 4 / 7) 0,calc(100% * 5 / 7) 0,calc(100% * 6 / 7) 0;background-repeat:no-repeat}.cal-day-num{min-height:58px;padding:4px 3px 3px;cursor:pointer;transition:background .1s;display:flex;flex-direction:column;align-items:center;min-width:0;position:relative}.cal-day-num:hover{background:var(--surface-sunk)}.cal-day-num.other-month{cursor:default;background:transparent;opacity:.3}.cal-date-wrap{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--r-xs)}.cal-date{font-size:13px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.cal-chip{width:calc(100% - 4px);min-width:0;margin:2px 2px 0;font-size:10px;font-weight:700;padding:2px 5px;border-radius:var(--r-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;line-height:1.4;letter-spacing:-.01em}.cal-strip{height:18px;margin:1px 0;font-size:10px;font-weight:700;padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;display:flex;align-items:center;align-self:center;border-radius:var(--r-xs);letter-spacing:-.01em}.cal-event-open{background:var(--forest-tint);color:var(--forest);border:1px solid rgba(59,107,48,.3)}.cal-event-closed{background:var(--rust-tint);color:var(--rust);border:1px solid rgba(150,48,35,.3);text-decoration:line-through;text-decoration-thickness:1px}.attendee-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--rule);gap:12px}.attendee-item:last-child{border-bottom:none}.attendee-name{font-weight:600;font-size:14px}.attendee-meta{font-size:12px;color:var(--ink-3);margin-top:2px}.attendee-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.section-title{font-size:11px;font-weight:800;color:var(--ink-4);margin:20px 0 10px;text-transform:uppercase;letter-spacing:.14em}.info-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--rule);gap:12px;font-size:14px}.info-row:last-child{border-bottom:none}.info-label{color:var(--ink-3);flex-shrink:0}.info-value{font-weight:500;text-align:right}.fab{position:fixed;bottom:20px;right:20px;width:52px;height:52px;border-radius:var(--r-md);background:var(--amber);color:#fff8ea;border:none;font-size:28px;font-weight:300;cursor:pointer;box-shadow:0 10px 24px #b0561047,inset 0 1px #fff3;display:flex;align-items:center;justify-content:center;text-decoration:none;line-height:1;transition:transform .15s,box-shadow .15s}.fab:hover{transform:translateY(-2px);box-shadow:0 14px 30px #b0561052,inset 0 1px #fff3}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 56px);text-align:center;gap:14px;padding:20px}.login-page h1{font-size:32px;letter-spacing:-.03em;font-weight:800}.login-page p{color:var(--ink-3);font-size:15px;max-width:320px}.btn-kakao{background:#fee500;color:#191600;border:none;padding:14px 28px;border-radius:var(--r-sm);font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 6px 16px #fee50059}.status-bar{display:grid;grid-template-columns:1fr 1fr 1fr;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);padding:14px 10px;margin-bottom:16px}.status-item{text-align:center;position:relative}.status-item+.status-item{border-left:1px solid var(--rule)}.status-num{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1.1}.status-label{font-size:10px;color:var(--ink-4);text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-top:4px}.empty{text-align:center;padding:48px 16px;color:var(--ink-3)}.empty-icon{font-size:36px;margin-bottom:12px;opacity:.5}.info-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--r-xs);font-size:11px;font-weight:600;letter-spacing:-.01em}.chip-default{background:var(--surface-sunk);color:var(--ink-2);border:1px solid var(--rule)}.chip-joGeum{background:var(--forest-tint);color:var(--forest);border:1px solid rgba(59,107,48,.25)}.chip-sari{background:var(--amber-tint);color:var(--amber);border:1px solid rgba(176,86,16,.25)}.filter-bar{display:flex;gap:6px;margin-bottom:16px;overflow-x:auto;padding:4px 0 6px}.filter-chip{white-space:nowrap;padding:6px 13px;border-radius:var(--r-pill);border:1px solid var(--rule-strong);background:var(--surface);font-size:12px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:all .12s}.filter-chip:hover{color:var(--teal);border-color:var(--teal)}.filter-chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}@media(max-width:480px){.form-row{grid-template-columns:1fr}.card-body{padding:14px}}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-track:hover{animation-play-state:paused}
