:root{--bg:#ffffff;--text:#1b1f23;--muted:#6b7280;--line:#d1d5db;--line-strong:#111827;--brand:#111827;--pink:#fde2e7;--yellow:#fff2cc;--sky:#e6f4ff;--green:#e7f6ec;--total-bg:#e5e7eb;--memo-bg:#f3f4f6;--danger:#c53030;--accent:#2563eb}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Pretendard,Noto Sans KR,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:14px}button,input,select,textarea{font-family:inherit;font-size:14px}.container{max-width:1200px;margin:20px auto;padding:0 16px 40px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}.tabbar{display:flex;align-items:center;gap:6px;overflow:hidden;padding-bottom:6px;margin-bottom:8px}.tabs-scroll{flex:1 1;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scroll-behavior:smooth;-webkit-mask-image:linear-gradient(90deg,transparent 0,black 16px,black calc(100% - 16px),transparent);mask-image:linear-gradient(90deg,transparent 0,black 16px,black calc(100% - 16px),transparent);scrollbar-width:none;-ms-overflow-style:none}.tabs-scroll::-webkit-scrollbar{display:none}.tabs{display:inline-flex;align-items:center;gap:6px}.tab{border:1px solid var(--line);background:#fff;padding:6px 10px;border-radius:999px;cursor:pointer;white-space:nowrap;max-width:220px;text-overflow:ellipsis;overflow:hidden}.tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.drag-over{outline:2px dashed #9ca3af}.btn{border:1px solid var(--line);background:#fff;padding:8px 12px;border-radius:8px;cursor:pointer}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.danger{background:#fff;color:var(--danger);border-color:#ef4444}.btn:focus{outline:2px solid var(--accent);outline-offset:1px}details.input-panel{border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03);margin-bottom:16px}details.input-panel>summary{padding:14px 16px;cursor:pointer;font-weight:700;background:#fafafa;border-bottom:1px solid var(--line);-webkit-user-select:none;-moz-user-select:none;user-select:none}.panel-body{padding:16px;display:grid;grid-gap:16px;gap:16px}.section{border:1px dashed #e5e7eb;border-radius:8px;padding:12px}.section h3{margin:0 0 10px;font-size:13px;color:#374151}.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:12px}.grid-2,.grid-3{display:grid;gap:12px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:12px}.col-span-2{grid-column:span 2}label.field{display:grid;grid-gap:6px;gap:6px}label.field span{color:#374151;font-weight:600}input[type=date],input[type=number],input[type=text],textarea{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff}select{border:1px solid var(--line);border-radius:8px;background-color:#fff;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 10.94l3.71-3.71a.75.75 0 111.08 1.04l-4.25 4.25a.75.75 0 01-1.08 0L5.25 8.27a.75.75 0 01-.02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px;padding:8px 32px 8px 10px}select::-ms-expand{display:none}#input-memo{width:100%}input[type=number]{text-align:right}.small{font-size:12px;color:var(--muted)}#printArea{background:#fff}.header{text-align:center;font-weight:800;font-size:24px;margin:12px 0 8px}.sheet{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px;align-items:start}@media (max-width:1024px){.sheet{grid-template-columns:1fr}}table{width:100%;border-collapse:collapse;background:#fff}td,th{border:1px solid var(--line);padding:8px 10px;vertical-align:middle}th{background:#f9fafb;text-align:center;font-weight:700}td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td.name{white-space:nowrap}td .note{color:var(--muted);font-size:12px;margin-left:6px}tr.total-row td,tr.total-row th{border-top:2px solid var(--line-strong);border-bottom:2px solid var(--line-strong);background:var(--total-bg);font-weight:800}tr.total-row td.mismatch{color:var(--danger)}.badge{display:inline-block;border:1px solid #9ca3af;color:#374151;background:#f3f4f6;font-size:11px;padding:1px 6px;border-radius:999px;margin-left:6px}.group-pink{background:var(--pink)}.group-yellow{background:var(--yellow)}.group-sky{background:var(--sky)}.group-green{background:var(--green)}.memo-box{border:2px solid var(--line-strong);border-radius:8px;background:var(--memo-bg);padding:10px}.memo-box h4{margin:0 0 8px;font-size:14px}.memo-content{white-space:pre-wrap}.footer{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:1024px){.footer{grid-template-columns:1fr}}.summary-table td,.summary-table th{text-align:right}.summary-table td:first-child,.summary-table th:first-child{text-align:left}.kpi{margin-top:8px;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.kpi .tile{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;text-align:center}.kpi .tile .label{color:var(--muted);font-size:12px}.kpi .tile .value{font-size:18px;font-weight:800}#income-list{overflow-x:visible}.income-row{display:grid;grid-template-columns:16px 1fr 130px 120px 48px;grid-gap:8px;gap:8px;margin-bottom:6px}@media (max-width:920px){.income-row{grid-template-columns:1fr 1fr;min-width:0}}.incentive-row{grid-template-columns:16px 1fr 140px 1fr 48px;grid-gap:8px}.incentive-row,.member-row{display:grid;gap:8px;margin-bottom:6px}.member-row{grid-template-columns:16px minmax(150px,1fr) 110px 1fr 48px;grid-gap:8px}#penalty-list{overflow-x:visible}.penalty-row{display:grid;grid-template-columns:16px minmax(100px,0fr) 100px 80px minmax(100px,1fr) 48px;grid-gap:8px;gap:8px;margin-bottom:6px}.penalty-row select{min-width:0;max-width:100%}.income-row input,.income-row select,.penalty-row input,.penalty-row select{min-width:0}.memo-input-section{display:grid;grid-template-rows:auto 1fr}.memo-input-section textarea{height:100%;min-height:0}.incentive-row .btn,.income-row .btn,.member-row .btn,.penalty-row .btn{width:40px;padding:6px 0;text-align:center}#btn-remove-tab{width:40px;padding-left:0;padding-right:0;text-align:center}.modal-overlay{position:fixed;inset:0;background:rgba(17,24,39,.55);display:grid;place-items:center;padding:16px;z-index:50}.modal{width:min(720px,100%);max-height:min(720px,calc(100vh - 32px));overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--line);background:#fafafa}.modal-title{font-weight:800}.modal-sub{font-weight:600;color:var(--muted);margin-left:8px}.modal-body{padding:12px;display:grid;grid-gap:10px;gap:10px}.modal-list{display:grid;grid-gap:8px;gap:8px;overflow:auto;padding-right:2px;max-height:calc(100vh - 220px)}.modal-item{text-align:left;border:1px solid var(--line);background:#fff;padding:10px 12px;border-radius:10px;cursor:pointer}.modal-item.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(37,99,235,.15)}.modal-item-title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-item-meta{margin-top:4px;color:var(--muted);font-size:12px;display:grid;grid-gap:2px;gap:2px}.modal-empty{color:var(--muted);font-size:13px;padding:12px 4px}.drag-handle{display:inline-block;width:12px;height:24px;border-radius:4px;background:radial-gradient(circle at 30% 25%,#9ca3af 1.5px,transparent 0),radial-gradient(circle at 70% 25%,#9ca3af 1.5px,transparent 0),radial-gradient(circle at 30% 50%,#9ca3af 1.5px,transparent 0),radial-gradient(circle at 70% 50%,#9ca3af 1.5px,transparent 0),radial-gradient(circle at 30% 75%,#9ca3af 1.5px,transparent 0),radial-gradient(circle at 70% 75%,#9ca3af 1.5px,transparent 0);background-color:transparent;cursor:-webkit-grab;cursor:grab;align-self:center;justify-self:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.drag-ghost{box-shadow:0 6px 18px rgba(0,0,0,.18);border:1px solid var(--line);background:#fff}@media print{.container{max-width:none;margin:0;padding:0}.actions,details.input-panel{display:none!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4 landscape;margin:12mm}.footer,.header,.sheet{break-inside:avoid;page-break-inside:avoid}}