*{box-sizing:border-box;margin:0;padding:0}body{font-family:Pretendard,-apple-system,sans-serif;background:#f5f6f8;color:#1a1a2e}header{background:#fff;border-bottom:1px solid #e2e5ea;padding:9px 24px;display:flex;align-items:center;justify-content:space-between}header h1{font-size:17px;font-weight:700}header h1 span{color:#2563eb}.user-box{font-size:13px;color:#555;display:flex;gap:12px;align-items:center}.user-box button{border:1px solid #d6dae1;background:#fff;border-radius:6px;padding:5px 12px;font-size:12px;cursor:pointer}.login-view{display:flex;justify-content:center;padding-top:12vh}.login-card{background:#fff;border:1px solid #e2e5ea;border-radius:12px;padding:36px 32px;width:360px;box-shadow:0 4px 24px rgba(0,0,0,.05)}.login-card h2{font-size:18px;margin-bottom:6px}.login-card p.sub{font-size:13px;color:#777;margin-bottom:22px}.login-card label{display:block;font-size:12px;font-weight:600;color:#444;margin:12px 0 5px}.login-card input{width:100%;border:1px solid #d6dae1;border-radius:7px;padding:10px 12px;font-size:14px}.login-card button{width:100%;margin-top:22px;background:#2563eb;color:#fff;border:0;border-radius:7px;padding:11px;font-size:14px;font-weight:600;cursor:pointer}.login-card button:disabled{opacity:.6;cursor:default}.login-error{color:#dc2626;font-size:12px;margin-top:10px}.app-view{padding:10px 20px}.main-nav{display:flex;gap:6px;margin-bottom:10px}.main-nav button{border:1px solid #d6dae1;background:#fff;border-radius:7px;padding:7px 16px;font-size:13px;font-weight:700;color:#555;cursor:pointer}.main-nav button.active{background:#1f2937;border-color:#1f2937;color:#fff}.tabs{display:flex;gap:6px;margin-bottom:8px}.tabs button{background:#fff;border-radius:8px 8px 0 0;padding:7px 16px;font-size:13px;font-weight:600;color:#666;cursor:pointer;border:1px solid #d6dae1;border-bottom:none}.tabs button.active{background:#2563eb;border-color:#2563eb;color:#fff}.filter-bar{background:#fff;border:1px solid #e2e5ea;border-radius:0 10px 10px 10px;padding:8px 12px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:10px}.filter-bar.standalone{border-radius:10px}.filter-bar .f{display:flex;flex-direction:column;gap:3px}.filter-bar .f.wide input{min-width:220px}.filter-bar label{font-size:11px;font-weight:600;color:#666}.filter-bar input,.filter-bar select{border:1px solid #d6dae1;border-radius:6px;padding:5px 8px;font-size:12px;min-width:100px}.filter-bar button{background:#2563eb;color:#fff;border:0;border-radius:7px;padding:7px 20px;font-size:13px;font-weight:600;cursor:pointer}.segmented{display:flex;border:1px solid #d6dae1;border-radius:7px;overflow:hidden;background:#fff;height:28px}.segmented button{border:0;border-radius:0;background:#fff;color:#555;padding:0 10px;font-size:12px;font-weight:600}.segmented button+button{border-left:1px solid #d6dae1}.segmented button.active{background:#2563eb;color:#fff}.legend{font-size:12px;color:#666;display:flex;gap:14px;margin-left:auto;align-items:center}.legend .chip{display:inline-block;width:14px;height:14px;border-radius:3px;vertical-align:-2px;margin-right:4px}.chip.win{background:#fde047;border:1px solid #eab308}.chip.me{background:#fff;border:2px solid #dc2626}.table-wrap{background:#fff;border:1px solid #e2e5ea;border-radius:10px;overflow:auto;max-height:calc(100vh - 165px)}.myroom-table,.notice-table{max-height:calc(100vh - 150px)}table{border-collapse:separate;border-spacing:0;font-size:11px}td,th{border-right:1px solid #eef0f3;border-bottom:1px solid #eef0f3;padding:0 5px;text-align:center;white-space:nowrap;min-width:42px;height:14px;line-height:14px}thead th{top:0;z-index:2;color:#444}tbody th,tfoot th,thead th{position:-webkit-sticky;position:sticky;background:#f8f9fb;font-weight:600}tbody th,tfoot th{left:0;z-index:1;color:#333;min-width:64px}thead th:first-child{left:0;z-index:3}tfoot td,tfoot th{position:-webkit-sticky;position:sticky;background:#f3f4f6;font-weight:600;border-top:2px solid #d6dae1}td.win{background:#fde047}td.me,td.win{font-weight:700}td.me{color:#dc2626;box-shadow:inset 0 0 0 2px #dc2626}td.win.me{background:#fde047}td.zero{color:#c8ccd4}tr.zero-row th{color:#aaa;font-weight:400}.status-msg{font-size:13px;color:#888;padding:30px;text-align:center}.inline-status{font-size:12px;color:#666;padding:8px 10px;border-bottom:1px solid #eef0f3}.text-cell{text-align:left;max-width:420px;overflow:hidden;text-overflow:ellipsis}.row-action{border:1px solid #d6dae1;background:#fff;color:#2563eb;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;cursor:pointer}.row-action.danger{color:#dc2626}.row-actions{display:flex;gap:5px;justify-content:center}.past-panel{background:#fff;border:1px solid #e2e5ea;border-radius:10px;margin-bottom:10px;max-height:220px}.past-list,.past-panel{overflow:auto}.myroom-table table,.notice-table table,.past-list table{width:100%}.past-list input[type=checkbox]{width:14px;height:14px}.myroom-table input,.myroom-table textarea{width:100%;border:1px solid #d6dae1;border-radius:6px;padding:5px 7px;font-size:12px}.myroom-table textarea{min-width:220px;height:42px;resize:vertical;line-height:1.3}.amount-input{min-width:120px}.admin-view{display:flex;flex-direction:column;gap:10px}.admin-toolbar{display:flex;gap:10px;align-items:center}.admin-create-form>button,.admin-toolbar>button{background:#2563eb;color:#fff;border:0;border-radius:7px;padding:8px 16px;font-size:13px;font-weight:700;cursor:pointer}.admin-create-form>button:disabled,.admin-toolbar>button:disabled,.row-action:disabled{opacity:.55;cursor:default}.admin-section{background:#fff;border:1px solid #e2e5ea;border-radius:10px;padding:12px}.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.admin-section-head h2{font-size:15px;color:#1f2937}.admin-section-head span{font-size:12px;color:#666}.collect-summary{display:grid;grid-template-columns:120px 120px 120px minmax(220px,1fr);grid-gap:8px;gap:8px;margin-bottom:10px}.collect-summary>div{border:1px solid #eef0f3;border-radius:8px;padding:9px 10px;min-width:0}.collect-summary span,.job-row span,.license-editor>span{display:block;font-size:11px;color:#667085;margin-bottom:3px}.collect-summary strong{display:block;font-size:13px;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-grid{display:grid;grid-gap:6px;gap:6px}.job-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,220px) 42px;grid-gap:10px;gap:10px;align-items:center;border-top:1px solid #eef0f3;padding-top:6px}.job-row strong{display:block;font-size:12px;color:#333}.job-row em{font-style:normal;font-size:12px;color:#555;text-align:right}.job-progress{height:8px;background:#eef0f3;border-radius:999px;overflow:hidden}.job-progress span{display:block;height:100%;background:#2563eb;margin:0}.admin-create-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(260px,2fr) auto;grid-gap:10px;gap:10px;align-items:end}.admin-create-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:#555}.admin-create-form input,.admin-table input{border:1px solid #d6dae1;border-radius:6px;padding:6px 8px;font-size:12px;min-width:0}.admin-table{max-height:calc(100vh - 360px)}.admin-table table{width:100%}.admin-table td{height:auto;line-height:1.25;padding:6px;vertical-align:top}.admin-table input[type=checkbox],.license-checks input[type=checkbox]{width:14px;height:14px;min-width:14px;padding:0}.admin-license-cell{min-width:260px;max-width:360px}.license-editor{min-width:0}.license-summary{font-size:11px;color:#444;margin-bottom:5px;text-align:left}.license-checks{display:flex;flex-wrap:wrap;gap:5px;max-height:86px;overflow:auto;border:1px solid #eef0f3;border-radius:7px;padding:6px;background:#fbfcfe}.license-checks label{display:inline-flex;flex-direction:row;align-items:center;gap:4px;border:1px solid #e2e5ea;background:#fff;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:600;color:#344054;white-space:nowrap}.license-checks span{font-size:12px;color:#888}@media (max-width:900px){header{padding:9px 12px}.admin-create-form,.collect-summary,.job-row{grid-template-columns:1fr}.legend{margin-left:0}.admin-table{max-height:none}}