:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f3fa;--side:#fbf9fd;--card:#fff;--line:#ebe4f2;--line-2:#f3eef8;--ink:#2f153c;--ink-2:#5c3e70;--ink-3:#9b86ac;--accent:#8145a1;--accent-soft:#efe5f6;--bar-top:#a66ec4;--bar-bottom:#e4afd2;--up:#2f8a5b;--down:#c2557f;--light:#5a7fc0;--light-soft:#e8eef9;--premium:#b0508a;--premium-soft:#f8e6f0;--vip:#a9762a;--vip-soft:#f8eedd;--sans:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Apple SD Gothic Neo", "Noto Sans KR", "Noto Sans JP", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1{margin:0;font-size:26px;line-height:1.3}h2{margin:0 0 10px;font-size:16px}.muted{color:var(--ink-3);margin:0 0 8px;font-size:13.5px}.error{color:var(--down);font-size:14px}.ok{color:var(--up);font-size:14px}.btn{background:var(--accent);color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;padding:11px 18px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.6}.link{color:var(--ink-2);background:0 0;border:0;padding:0;font-size:13.5px;text-decoration:underline}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--bar-top), var(--bar-bottom));color:#fff;border-radius:9px;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.login{place-items:center;min-height:100%;padding:24px 16px;display:grid}.login-box{background:var(--card);border:1px solid var(--line);border-radius:20px;width:100%;max-width:380px;padding:28px 24px}.login-box .brand{margin-bottom:18px;font-size:17px}.login-form{flex-direction:column;gap:6px;display:flex}.login-form label{color:var(--ink-2);margin-top:6px;font-size:13px}.login-form input{border:1px solid var(--line);background:var(--side);border-radius:10px;padding:10px 12px}.login-form .btn{margin-top:14px}.hint{color:var(--ink-2);margin:0;font-size:14px}.code-input{letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;font-size:22px}.enroll-steps{color:var(--ink-2);margin:4px 0 8px;padding-left:20px;font-size:13.5px}.qr{border:1px solid var(--line);border-radius:12px;align-self:center;max-width:100%;height:auto}.manual{color:var(--ink-2);margin-top:4px;font-size:13px}.manual summary{cursor:pointer}.manual code{background:var(--side);word-break:break-all;border-radius:8px;padding:8px 10px;font-size:14px;display:block}.app{grid-template-columns:232px 1fr;min-height:100%;display:grid}.side{background:var(--side);border-right:1px solid var(--line);flex-direction:column;gap:22px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.side .brand{padding:0 8px}.nav{flex-direction:column;gap:2px;display:flex}.tab{text-align:left;color:var(--ink-2);background:0 0;border:0;border-radius:10px;padding:10px 12px;font-weight:500}.tab:hover{background:var(--line-2)}.tab[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:700}.side-foot{flex-direction:column;gap:4px;margin-top:auto;padding:0 8px;display:flex}.main{min-width:0;padding:28px 32px 60px}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.month{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:8px 12px}.stack{flex-direction:column;gap:18px;max-width:1080px;display:flex}.fading{opacity:.55;transition:opacity .2s}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px 22px}.card.empty{flex-direction:column;align-items:flex-start;gap:10px;max-width:520px;display:flex}.kpis{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.kpi{text-align:left;flex-direction:column;gap:4px;display:flex}.kpi:hover{border-color:var(--bar-top)}.kpi .k{color:var(--ink-2);font-size:13.5px;font-weight:600}.kpi .v{font-variant-numeric:tabular-nums;font-size:32px;font-weight:800;line-height:1.2}.kpi .v small{margin-left:2px;font-size:15px;font-weight:700}.delta{color:var(--ink-3);font-size:12.5px}.delta.up{color:var(--up)}.delta.down{color:var(--down)}.plans-mini{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.chip{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700}.chip-light{background:var(--light-soft);color:var(--light)}.chip-premium{background:var(--premium-soft);color:var(--premium)}.chip-vip{background:var(--vip-soft);color:var(--vip)}.chart-wrap{overflow-x:auto}.chart{width:100%;min-width:520px;height:auto;display:block}.chart .grid{stroke:var(--line);stroke-dasharray:3 4}.chart .axis{fill:var(--ink-3);font-size:11px}.chart .bar{fill:var(--bar-top)}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.big{font-variant-numeric:tabular-nums;font-size:24px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--line);padding:6px 8px;font-size:12.5px;font-weight:600}td{border-bottom:1px solid var(--line-2);padding:10px 8px}tr.sum td{border-top:1px solid var(--line);font-weight:600}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.plan-rows{flex-direction:column;gap:10px;margin-top:6px;display:flex}.plan-row{grid-template-columns:110px 70px 1fr;align-items:center;gap:10px;display:grid}.plan-row b{font-variant-numeric:tabular-nums;font-size:18px}.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:18px;display:grid}.people{max-height:420px;margin:0;padding:0;list-style:none;overflow-y:auto}.people li{border-bottom:1px solid var(--line-2);align-items:center;gap:8px;padding:8px 0;display:flex}.people li:last-child{border-bottom:0}.pname{overflow-wrap:anywhere;flex:1;min-width:0}.pday{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12.5px}.steps{color:var(--ink-2);margin:0 0 16px;padding-left:20px}.file-btn{position:relative;overflow:hidden}.file-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}@media (max-width:900px){.kpis,.two{grid-template-columns:1fr}}@media (max-width:720px){.app{grid-template-columns:1fr}.side{z-index:5;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:12px;height:auto;padding:10px 16px;position:sticky;top:0;overflow-x:auto}.side .brand b{display:none}.nav{flex-direction:row}.tab{white-space:nowrap;padding:8px 12px}.side-foot{white-space:nowrap;flex-direction:row;gap:8px;margin:0 0 0 auto}.side-foot .muted{display:none}.main{padding:20px 16px 48px}h1{font-size:22px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
