*{box-sizing:border-box}body{color:#1a1a1a;background:#fafafa;margin:0;font-family:Malgun Gothic,Apple SD Gothic Neo,system-ui,sans-serif}main{max-width:1080px;margin:0 auto;padding:32px 24px 80px}h1{margin:0 0 4px;font-size:22px}.subtitle{color:#666;margin:0 0 24px;font-size:14px}.dropzone{text-align:center;cursor:pointer;background:#fff;border:2px dashed #bbb;border-radius:12px;padding:40px 24px;transition:border-color .15s,background .15s}.dropzone.dragging,.dropzone:hover{background:#f0f6ff;border-color:#2563eb}.dropzone p{color:#444;margin:4px 0}.dropzone .hint{color:#888;font-size:13px}section{margin-top:28px}h3{margin:0 0 8px;font-size:15px}table{border-collapse:collapse;background:#fff;width:100%;font-size:13px}th,td{text-align:left;white-space:nowrap;border:1px solid #e2e2e2;padding:6px 10px}th{background:#f3f4f6;font-weight:600}td.num{text-align:right;font-variant-numeric:tabular-nums}tr.total td{background:#f8fafc;font-weight:700}.errors{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;font-size:13px}.errors li{margin:4px 0}.warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-top:16px;padding:10px 16px;font-size:13px}.file-list{color:#444;background:#fff;border:1px solid #e2e2e2;border-radius:8px;padding:10px 16px;font-size:13px}.file-list li{margin:3px 0}button.primary{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;margin-top:20px;padding:12px 28px;font-size:15px;font-weight:700}button.primary:hover{background:#1d4ed8}button.primary:disabled{cursor:not-allowed;background:#9ca3af}.settings{background:#fff;border:1px solid #e2e2e2;border-radius:8px;flex-wrap:wrap;gap:16px;padding:14px 16px;font-size:13px;display:flex}.settings label{color:#555;flex-direction:column;gap:4px;display:flex}.settings input{border:1px solid #d1d5db;border-radius:6px;width:160px;padding:6px 8px;font-size:13px}.settings.pmax-row{align-items:flex-end;margin-bottom:8px}button.ghost{color:#2563eb;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:7px 14px;font-size:13px}button.ghost:hover{background:#f0f6ff}.preview-scroll{background:#fff;border:1px solid #e2e2e2;border-radius:8px;overflow-x:auto}.muted{color:#888;margin-top:6px;font-size:12px}
