*{box-sizing:border-box}body{background:#f3f4f6;color:#222;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,Arial,sans-serif;margin:0;padding:24px}h1{color:#16b777;font-size:26px;margin-top:0}.description{color:#555;line-height:1.6;margin-bottom:16px}.drop-zone{background:#fff;border:3px dashed #999;border-radius:12px;cursor:pointer;margin-bottom:20px;padding:36px 20px;text-align:center;transition:all .2s ease}.drop-zone.dragover{background:#eff6ff;border-color:#2563eb;color:#1d4ed8}.drop-zone strong{font-size:18px}.drop-zone p{color:#666;margin:8px 0 0}input[type=file]{display:none}.toolbar{align-items:center;background:#fff;border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.08);display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:12px}.toolbar .label{font-weight:600;margin-right:4px}.pill-button{background:#fff;border:1px solid #ccc;border-radius:6px;cursor:pointer;font-size:14px;padding:7px 12px}.pill-button.active{background:#eff6ff;border-color:#2563eb;outline:3px solid #2563eb}.num-field{align-items:center;color:#444;display:inline-flex;font-size:14px;gap:6px}.num-input{border:1px solid #ccc;border-radius:6px;font-size:14px;padding:6px 8px;width:90px}.primary-button{background:#16b777;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 14px}.primary-button:hover{background:#0f8f5e}.primary-button:disabled{cursor:not-allowed;opacity:.5}.clear-button{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 14px}.clear-button:hover{background:#b91c1c}.error{background:#fee2e2;border-radius:8px;color:#991b1b;display:none;margin-bottom:16px;padding:12px}.hint{background:#fff7ed;border-left:4px solid #f97316;border-radius:6px;color:#7c2d12;line-height:1.7;margin-top:20px;padding:14px}